size :: Tree a -> Int
size t = case t of
Leaf -> 1
Node { } -> size (left r)
+ size (right t)
passend zu Data-Deklaration
data Tree a = Leaf
| Node { key :: a
, left :: Tree a
, right :: Tree a
}