code: @NotNull
      public OptionalDouble min() {
          return reduce(new DoubleBinaryOperator() {
              @Override
              public double applyAsDouble(double left, double right) {
                  return Math.min(left, right);
              }
          });
      }
docs: Returns an {@code OptionalDouble} describing the minimum element of this
  stream, or an empty optional if this stream is empty.
  
  <p>This is a terminal operation.
  
  @return the minimum element