Für Datentyp
data Tree a = Leaf | Branch { left :: Tree a, key :: a, right :: Tree a } instance Functor Tree where fmap f t = ...schreibe Funktion
relabel :: Tree a -> [b] -> ( Tree b, [b] )mit Spezifikation
let ( u, ys ) = relabel t xs in fmap (const ()) u == fmap (const ()) t && inorder u ++ ys == xs