offizielle Definition von class Ord a, siehe
http://www.haskell.org/onlinereport/basic.html#sect6.3.2
class (Eq a) => Ord a where
-- Deklarationen:
compare :: a -> a -> Ordering
(<), (<=), (>=), (>) :: a -> a -> Bool
-- (gegenseitige) Default-Implementierungen:
compare x y | x == y = EQ
| x <= y = LT
| otherwise = GT
x <= y = compare x y /= GT
x < y = compare x y == LT
Absicht: Man implementiert entweder compare oder (<=),
und erhält restliche Methoden durch Defaults.