zur Erinnerung: sort = inorder . foldr insert Leaf mit
insert x t = case t of
Branch {} -> if x < key t then ...
Für alle a, die für die es eine Vergleichs-Funktion gibt,
hat sort den Typ [a] -> [a].
sort :: Ord a => [a] -> [a]
Hier ist Ord eine Typklasse, so definiert:
class Ord a where
compare :: a -> a -> Ordering
data Ordering = LT | EQ | GT
vgl. Java:
interface Comparable<T> { int compareTo (T o); }