extension UniqueItems on Iterable { Iterable findDuplicates() sync* { final seen = {}; for (final item in this) { if (seen.contains(item)) { yield item; } else { seen.add(item); } } } }