// f must return a list static L concatMap(O f, Iterable l) { ret concatLists(map(f, l)); } static L concatMap(Iterable l, O f) { ret concatMap(f, l); } static L concatMap(O f, O[] l) { ret concatLists(map(f, l)); } static L concatMap(O[] l, O f) { ret concatMap(f, l); } static > L concatMap(Iterable l, IF1 f) { ret concatMap(l, (O) f); } static > L lambdaMapLike concatMap(IF1 f, Iterable l) { ret concatMap(l, f); } static > L lambdaMapLike concatMap(IF1 f, A[] l) { ret concatMap((O) f, l); }