public Constraint And([NotNull] Constraint other) { switch (CompareImpl(other) ?? Invert(other.CompareImpl(this))) { case CompareOutcome.Looser: return(other); case CompareOutcome.Stricter: return(this); default: return(Conjunction.From(this, other)); } }