skeleton for AST visitor. need to find a way to conveniently dispatch on node types - maybe embed the node name in each node as a class attribute?