O(n log n). The nubOrd function removes duplicate
elements from a list. In particular, it keeps only the first
occurrence of each element. Unlike the standard nub operator,
this version requires an Ord instance and consequently runs
asymptotically faster.
The sort function implements a stable sorting algorithm. It is
a special case of sortBy, which allows the programmer to supply
their own comparison function.
Elements are arranged from lowest to highest, keeping duplicates in
the order they appeared in the input.