public static Expr Make(Expr left, Expr right)
 {
     return new Multiplication(left, right);
 }
 public Multiplication(Expr arg1, Expr arg2) : base(arg1, arg2)
 {
 }
 public Addition(Expr arg1, Expr arg2) : base(arg1, arg2)
 {
 }
 public static Expr Make(Expr left, Expr right)
 {
     return new Addition(left, right);
 }
 public BinaryExpr(Expr arg1, Expr arg2)
 {
     _left = arg1;
     _right = arg2;
 }