static Lisp nlRemoveWord(S word, Lisp in) { if (in.isLeaf() && eqic(in.head, word)) ret lisp("[]"); Lisp lisp = new Lisp(in.head); for (int i = 0; i < in.size(); i++) { Lisp translated = nlRemoveWord(word, in.get(i)); if (!translated.is("[]", 0)) lisp.add(translated); } ret lisp; }