public RangeStub2(RangeBoundaryFrom <T> from, RangeBoundaryTo <T> to)
 {
     _from = from;
     _to   = to;
 }
 public RangeStub2(T from, T to)
 {
     _from = new RangeBoundaryFrom <T>(from, RangeBoundaryFromKind.Inclusive);
     _to   = new RangeBoundaryTo <T>(from, RangeBoundaryToKind.Inclusive);
 }
 public RangeStubCompact <T> CreateRange(RangeBoundaryFrom <T> from, RangeBoundaryTo <T> to) =>
 new RangeStubCompact <T>(from, to);
 public RangeStub <T> TryCreateRange(RangeBoundaryFrom <T> from, RangeBoundaryTo <T> to) =>
 new RangeStub <T>(from, to);
 public RangeStubCompact(RangeBoundaryFrom <T> from, RangeBoundaryTo <T> to)
 {
     _from     = from.GetValueOrDefault();
     _to       = to.GetValueOrDefault();
     _combined = (int)from.Kind | (int)to.Kind;
 }