static Lisp lispReplaceVars(Lisp l, Map map) { if (l.isLeaf()) { Lisp x = map.get(l.head); if (x != null) ret x; } Lisp x = lisp(l.head); for (Lisp a : l.args) x.add(lispReplaceVars(a, map)); ret x; }