public static IFuncResult <NegativeInt32, OverflowException> Substract(NegativeInt32 x1, PositiveOrZeroInt32 x2) { throw new NotImplementedException(); }
static public IFuncResult <PositiveOrZeroInt32, OverflowException> Add(PositiveOrZeroInt32 x1, PositiveOrZeroInt32 x2) => SystemInt32Algebra.Add(x1.Int32Value, x2.Int32Value) .Tranform(x => new PositiveOrZeroInt32(x));
public static NegativeOrZeroInt32 OpositeOf(PositiveOrZeroInt32 x) => new NegativeOrZeroInt32(-x.Int32Value);