public static T Evaluate <T>(this ExpressionBase <T> expression, IEnumerable <(string name, T value)> variables)
public InnerExpression(ExpressionBase <T> expression) => Expression = expression;
public static ExpressionBase <T> Optimize <T>(this ExpressionBase <T> expression) where T : struct, IComparable <T>, IEquatable <T> => new ExpressionOptimizationProvider <T>().Optimize(expression);