merge :: [Integer] -> [Integer] -> [Integer]
data Ordering = LT | EQ | GT type Comparator a = ( a -> a -> Ordering ) merge :: Comparator a -> [a] -> [a] -> [a]