An immutable tree with each node containing a value, and a Seq of
children. Provides all normal Seq functionality as well as some tree
An iterator over the values stored on the nodes of this tree, in a depth
first manner starting from the root.
Returns an iterator for the values at the leaves of this tree
The number of nodes in this tree.