Visitor
This class provides a framework for recursively processing a program node tree. Program nodes of type <NodeType> should implement
^anEnumerator do<NodeType>: self ...arguments...
by analogy with the ProgramNodeBuilder messages
The old node is the first argument, so that enumerators can preserve the comment and source information if they wish.
To rebuild each non-leaf node, the enumerator sends the message
which is implemented by default as