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