// f must return a string static S joinMap(O f, Iterable l) { ret join(map(f, l)); }