trees 0.4.2

General purpose tree data structures
# Concepts

The definitions of trees are as follows:

* A tree is composed of one or more nodes.

* A node has zero or more nodes as its children.

* A node has zero or one node as its parent.

* The node without parent is called the tree's root.

* A node associates data of generic type, and data of all nodes in the same tree
  must be of the same type.

* Children nodes preserve insertion order.

* A forest is composed of zero or more nodes.

* A node's children is a non-owning forest.

* Two node's are siblings if their parents are the same node.