static S clUnparse(L l) { if (l == null) ret ""; ret join(" ", concatLists(conceptQuote(ll(l.head)), map(f clUnparse_sub, l))); } static S clUnparse_sub(L l) { ret l.empty() ? clUnparse(l) : "(" + clUnparse(l) + ")"; }