Pseudo-code for printing types
- To print a lambda-node with leaf A and child B, output (print(A)->print(B).
-
To print an apply or leaf node which is a left child, output (print(right-child(parent(self)))->print(parent(self)))
-
To print an apply or leaf node which is a right child, or the child of a lambda-node, output the base-type character. If the base-type character is null, choose a new base-type character, store it, and print it.