Rose tree
= Rose tree
{wiki}
A <rose tree> is an ordered <rooted tree> in which each <vertex> can have any finite number of <children in a rooted tree>. A labelled <Haskell> representation is `data RTree a = Node a [RTree a]`. Its <tree fold> has type `(a -> [b] -> b) -> RTree a -> b`: recursively fold the children, then combine their results with the current label. Unlike a <binary tree>, a rose tree has no fixed pair of child positions.