in algebird-core/src/main/scala/com/twitter/algebird/Interval.scala [311:321]
override def contains(t: T)(implicit ordering: Ordering[T]): Boolean =
lower.contains(t) && upper.contains(t)
override def intersect(that: Interval[T])(implicit ordering: Ordering[T]): Interval[T] = that match {
case Universe() => this
case Empty() => that
case lb @ InclusiveLower(_) => (lb && lower) && upper
case lb @ ExclusiveLower(_) => (lb && lower) && upper
case ub @ InclusiveUpper(_) => lower && (ub && upper)
case ub @ ExclusiveUpper(_) => lower && (ub && upper)
case Intersection(thatL, thatU) => (lower && thatL) && (upper && thatU)
}