create :: a -> Heap a -> Heap a -> Heap a
create e l r
  | rank l >= rank r = Node (succ (rank r)) e l r
  | otherwise        = Node (succ (rank l)) e r l
create :: a -> Heap a -> Heap a -> Heap a
create e l r
  | rank l >= rank r = Node (succ (rank r)) e l r
  | otherwise        = Node (succ (rank l)) e r l
create e l r
  | rank l >= rank r = Node (succ (rank r)) e l r
  | otherwise        = Node (succ (rank l)) e r l