sort [] = [] sort ls = merge (sort p) (sort q) where (p, q) = split ls
If we ask Haskell for the type of sort, it says:
sort :: (Ord a) => [t] -> [a]
Huh??