public bool Equals(TermsBase other) => this.TestNullBeforeEquals(other, () => this.ContentEquals(other));
public abstract TermsBase Raise(TermsBase b);
public abstract TermsBase Div(TermsBase s);
protected abstract TermsBase Mult(TermsBase b);
public override TermsBase Raise(TermsBase b) => b switch {
protected override TermsBase Mult(TermsBase b) => Create(Terms.Create(this.Cross(b, (t1, t2) => t1 * t2)));