public BinaryOpSig(NumericKind NumKind, OpKind Op, ParamSig Lhs, ParamSig Rhs, ParamSig Return) : base(NumKind, Op, Return) { this.Lhs = Lhs; this.Rhs = Rhs; }
public UnaryOpSig(NumericKind NumKind, OpKind Op, ParamSig Operand, ParamSig Return) : base(NumKind, Op, Return) { this.Operand = Operand; }
public OpSig(NumericKind NumKind, OpKind Op, ParamSig Return) { this.NumKind = NumKind; this.Op = Op; this.Return = Return; }
public static IOpSig Define(NumericKind numKind, OpKind op, ParamSig lhs, ParamSig rhs, ParamSig ret) => new BinaryOpSig(numKind, op, lhs, rhs, ret);
public static IOpSig Define(NumericKind numKind, OpKind op, ParamSig operand, ParamSig ret) => new UnaryOpSig(numKind, op, operand, ret);