Consider a single-linked list. It looks something like
data List x = Node x (List x) | End
It is natural to define a folding function such
I would call this a fold, and declare Tree a Foldable. See the Foldable example in the GHC docs.
Tree