I actually used this in my treezip submission to get my zipping function into the tree. If you're looking for a more complicated example, fmap can let you apply functions in this sort of way also:
instance Functor Tree where
fmap f Leaf = Leaf
fmap f (Node elem left right) = Node newelem newleft newright
where newelem = f elem
newleft = fmap f left
newright = fmap f right
That's not important, so leave it if it makes you uncomfortable.