code: public static final <T extends Comparable<? super T>> Optional<Tuple2<T, T>> intersect(Tuple2<T, T> left, Tuple2<T, T> right) {
          if (overlaps(left, right))
              return Optional.of(new Tuple2<>(
                  left.v1.compareTo(right.v1) >= 0 ? left.v1 : right.v1,
                  left.v2.compareTo(right.v2) <= 0 ? left.v2 : right.v2
              ));
          else
              return Optional.empty();
      }
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>