make ExpressionTo*Visitor singleton