reactor-core/src/main/java/reactor/core/publisher/ParallelFlux.java
public final Mono<T> reduce(BiFunction<T, T, T> reducer) {
		Objects.requireNonNull(reducer, "reducer");
		return Mono.onAssembly(new ParallelMergeReduce<>(this, reducer));
	}
public final Mono<T> reduce(BiFunction<T, T, T> reducer) {
		Objects.requireNonNull(reducer, "reducer");
		return Mono.onAssembly(new ParallelMergeReduce<>(this, reducer));
	}
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