hashNub

Like nub but runs in <math> time and requires Hashable.
>>> hashNub [3, 3, 3, 2, 2, -1, 1]
[3,2,-1,1]
same behavior as nub, but requires Hashable & Eq and is O(n log n) https://github.com/nh2/haskell-ordnub
Removes duplicate elements from a list, keeping only the first occurrence. This is usually faster than ordNub, especially for things that have a slow comparison (like String).
>>> hashNub [3,2,1,3,2,1]
[3,2,1]
Like nub but runs in O(n * log_16(n)) time and requires Hashable.
>>> hashNub [3, 3, 3, 2, 2, -1, 1]
[3,2,-1,1]
The hashNubOn function behaves just like hashNub, except it uses a another type to determine equivalence classes.
>>> hashNubOn fst [(True, 'x'), (False, 'y'), (True, 'z')]
[(True,'x'),(False,'y')]