There's now an abstract 'Visitor' class and a template visitor for scope + type checking