public static MathObject Substitute(this MathObject obj, MathObject a, int b) => obj.Substitute(a, new Integer(b));
public static MathObject Substitute(this MathObject obj, MathObject a, double b) => obj.Substitute(a, new DoubleFloat(b));
public static MathObject SubstituteEq(this MathObject obj, Equation eq) => obj.Substitute(eq.a, eq.b);