// f must return a collection of strings static Set mapLike concatMapToCISet(O f, Iterable l) { Set set = ciSet(); if (l != null) for (O o : l) addAll(set, (Collection) callF(f, o)); ret set; } static Set mapLike concatMapToCISet(Iterable l, IF1> f) { ret concatMapToCISet(f, l); }