Added the or operator and refactored the node structure.
Fixed the pretty printer example
Fixed the pretty printer example and exposed a basic node visitor.