Simplification
Made things more complex with an ExpressionVisitor