intersection
fun <Bound : Comparable<Bound>> HalfOpenRange<Bound>.intersection(other: HalfOpenRange<Bound>): HalfOpenRange<Bound>?
fun ClosedFloatingPointRange<Float>.intersection(other: ClosedFloatingPointRange<Float>): HalfOpenRange<Float>?
fun ClosedFloatingPointRange<Double>.intersection(other: ClosedFloatingPointRange<Double>): HalfOpenRange<Double>?