static ItIt anagrams_iterator(S s) { Set seen = litciset(s); ret filterIterator(func(Char[] l) -> bool { add(seen, join(asList(x))) }, allPermutations_iterator(characters(s))); }