// f : S -> Collection static Set mapLike functionReturningList_transitiveHull_ciSet(O f, S input, O... _) { Set seen = asCISet(optPar seen(_, linkedCISet())); exhaustIterator(repeatFunctionReturningList_iterator(f, input, paramsPlus(_, +seen))); ret seen; }