static ItIt<S> uniqueIteratorCI(Iterator<S> it) { Set<S> set = ciSet(); ret iff(() -> { while licensed { if (!it.hasNext()) ret endMarker(); S a = it.next(); if (set.add(a)) ret a; } ret endMarker(); }); }