General Tree ADT

Operations on a tree ADT might include:

root(n)
parent(n)
children(n) returns a list of n's children
leftMostChild(n) first child in children sequence
rightSibling(n) next sibling, in sequence
insert(n)
delete(n)