:: Ord a => [a] -> [a]
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 (a stable sort).
`dedup l` removes duplicate elements from a list. In particular,
it keeps only the first occurence of each element. It is a
special case of `dedupBy`, which allows the programmer to supply
their own equality test.
`dedup` is called `nub` in Haskell.
The `dedupSort` function sorts and removes duplicate elements from a
list. In particular, it keeps only the first occurrence of each
Extract the elements after the head of a list, which must be
Return all the elements of a list except the last one. The list
must be non-empty.
List of elements of a structure, from left to right.
Convert from the datatype to its representation
Convert from the representation to the datatype