static ItIt anagrams_iterator(S s) { Set seen = litciset(s); ret filterIterator((IF1, Bool>) l -> add(seen, join(x)), allPermutations_iterator(characters(s))); }