gemeinsame Form dieser Funktionen:
f :: Tree a -> b f t = case t of Leaf -> ... Branch l k r -> ... (f l) k (f r)dieses Schema ist eine Funktion höherer Ordnung:
fold :: ( ... ) -> ( ... ) -> ( Tree a -> b ) fold leaf branch = \ t -> case t of Leaf -> leaf Branch l k r -> branch (fold leaf branch l) k (fold leaf branch r) summe = fold Z ( \ l k r -> plus l (plus k r ) )