This is here for binary compatibility reasons.
This is here for binary compatibility reasons. These methods should be moved to Interval, which should also be an abstract class for better binary compatibility at the next incompatible change
Class that only exists so that leftClosedRightOpen and leftOpenRightClosed can retain the type information of the returned interval.
Class that only exists so that leftClosedRightOpen and leftOpenRightClosed can retain the type information of the returned interval. The compiler doesn't know anything about ordering, so without MaybeEmpty the only valid return type is Interval[T].