Returns the least upper bound.
Interval lub(Interval i) => Interval(math.max(min, i.min), math.max(max, i.max));