static Lisp lispReplace(Lisp l, Lisp searching, Lisp replacement) { if (eq(l, searching)) ret replacement; Lisp x = lisp(l.head); for (Lisp a : l.args) x.add(lispReplace(a, searching, replacement)); ret x; }