public interface ExpressionVisitor {
    Object visitNumericLiteral(NumericLiteral n);
    Object visitVariable(Variable v);
    Object visitSum(Sum s);
    Object visitProduct(Product p);
}
