code: public Optional<Range<T>> intersect(Tuple2<T, T> other) {
          return Tuple2.intersect(this, other).map(Range::new);
      }
docs: The intersection of two ranges.
  <p>
  <code><pre>
  // (2, 3)
  range(1, 3).intersect(range(2, 4))
  
  // none
  range(1, 3).intersect(range(5, 8))
  </pre></code>