code: public final Mono<T> reduce(BiFunction<T, T, T> reducer) {
  		Objects.requireNonNull(reducer, "reducer");
  		return Mono.onAssembly(new ParallelMergeReduce<>(this, reducer));
  	}
docs: Reduces all values within a 'rail' and across 'rails' with a reducer function into
  a single sequential value.
  <p>
  Note that the same reducer function may be called from multiple threads
  concurrently.
  
  @param reducer the function to reduce two values into one.
  
  @return the new Mono instance emitting the reduced value or empty if the
  {@link ParallelFlux} was empty