code: @NotNull
      public OptionalInt min() {
          return reduce(new IntBinaryOperator() {
              @Override
              public int applyAsInt(int left, int right) {
                  return left < right ? left : right;
              }
          });
      }
docs: Returns an {@code OptionalInt} describing the minimum element of this
  stream, or an empty optional if this stream is empty.
  
  <p>This is a terminal operation.
  
  @return an {@code OptionalInt} containing the minimum element of this
  stream, or an empty {@code OptionalInt} if the stream is empty