implemented a visitor pattern over the AST to manage various tasks, migration of the recursive print of the tree in progress