reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final <A> Mono<A> reduce(A initial, BiFunction<A, ? super T, A> accumulator) {
		return reduceWith(() -> initial, accumulator);
	}
public final <A> Mono<A> reduce(A initial, BiFunction<A, ? super T, A> accumulator) {
		return reduceWith(() -> initial, accumulator);
	}
public final < A > Mono < A > reduce ( A initial , BiFunction < A , ? super T , A > accumulator ) { return reduceWith ( ( ) -> initial , accumulator ) ; }
Reduce the values from this {@link Flux} sequence into a single object matching the
type of a seed value. Reduction is performed using a {@link BiFunction} that
takes the intermediate result of the reduction and the current value and returns
the next intermediate value of the reduction. First element is paired with the seed
value, {@literal initial}.

<p>
<img class="marble" src="doc-files/marbles/reduce.svg" alt="">

@reactor.discard This operator discards the internally accumulated value upon cancellation or error.

@param accumulator the reducing {@link BiFunction}
@param initial the seed, the initial leftmost argument to pass to the reducing {@link BiFunction}
@param <A> the type of the seed and the reduced object

@return a reduced {@link Flux}
Reduce the values from this { @link Flux } sequence into a single object matching the type of a seed value . Reduction is performed using a { @link BiFunction } that takes the intermediate result of the reduction and the current value and returns the next intermediate value of the reduction . First element is paired with the seed value { @literal initial } .