If this returns Some(t), then intr.
If this returns Some(t), then intr.contains(t) and there is no s greater than t such that intr.contains(s)
if this returns None, it may be Empty, Lower, or Universe
If this returns Some(t), then intr.
If this returns Some(t), then intr.contains(t) and there is no s less than t such that intr.contains(s)
if this returns None, it may be Empty, Upper or Universe
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