1data Tree a = Leaf a | Branch (Tree a) (Tree a) 2 3instance Functor Tree where 4 fmap fab (Leaf a) = Leaf (fab a) 5 fmap fab (Branch tr' tr_a) = Branch (fmap fab tr') (fmap fab tr_a) 6