Binary trees
A binary tree t is a finite (possibly empty) collection of elements. When the binary tree is not empty, it has a root element and the remaining elements (if any) are partitioned into two binary trees, called the left subtree and the right subtree of t
Notes:
- a binary tree may be empty
- each element has exactly two (perhaps empty) subtrees
- the subtrees/ children are ordered