I'm thorn because on one hand I would like to be able to express a
visitor for the complete compilation unit and in particular package and extensions but may be we do not need to have this nodes and just have an object. I would be favor to have a nice and full AST representation of the compilation unit.
Well, you can unify Ring and RBMethodNode from the point of view of the visitor: you're not in Java where typing could be an issue. If you have some cycle I would love to have that unification :) Yes I know :) and thought about it.
Note that I have a structure + visitor for the above AST level implemented in the AltBrowser (covers groups of groups of packages, packages, package tags, classes, extensions, protocols, methods, comments). Do you have a gofer expression :) so that I can load the code because I think that we should have this as a clearly identifiable component. We may not have to load it always in Pharo but it should be there.
Stef