I think we can remove this dependence and put all in the ExpressionVisitor