The more_itertools also has a solution:
`sorted()` would be better most of the time, for unhashable elements. `sorted()` work in `O(n log n)`, given a `key` it could be shortened to `O(n)`. Whereas, `more_itertools.unique_everseen()` works in `O(n ^ 2)` > The function will be slower (i.e., O(n^2)) for unhashable items. though this can be shortened too, into `O(n)` given a key. either way, the built-in `sorted()` would be faster for most cases.