tfold :: b
-> ( b -> a -> b -> b )
-> Tree a
-> b
tfold c h t = case t of
Leaf -> c
Node { left = l, key = k, right = r }
-> h (tfold c h l) k (tfold c h r)
Dann ist
leaves' = tfold 1 ( \ fl k fr -> fl + fr ) inorder' = tfold [] ( \ fl k fr -> fl ++ [k] ++ fr )