import Foundation extension Sequence where Iterator.Element: Hashable { func unique() -> [Iterator.Element] { var seen: Set = [] return filter { seen.insert($0).inserted } } }