Term.visitorVisitor performs deep visiting. As always, don't forget to overrid parent methods. The visitor comes with useful enter_T leave_T that are no-ops in this visitor, so if you inherit directly from it, then you may not call to the parent method.
inherit 'a Exp.visitorvisit_term cls t dispatch term t to corresponding method
visit_term cls t dispatch term t to corresponding method