Is it not too difficult to make it so val range: NumericRange.Inclusive[Long] = Long.MinValue to Long.MaxValue range.contains(Random.nextLong()) always returns true instead of throwing an Exception? Is it not too difficult to make it so val intersect = (Long.MinValue to 1L).intersect(-1L to Long.MaxValue) intersect.contains(0) returns true instead of throwing an Exception?