sS recursiveJoin(Iterable l) { new StringBuilder buf; recursiveJoin_impl(buf, l); ret str(buf); } svoid recursiveJoin_impl(StringBuilder buf, Iterable l) { if (l != null) for (O o : l) if (o cast Iterable) recursiveJoin_impl(buf, o); else buf.append(o); }