code: public final Flux<T> scan(BiFunction<T, T, T> accumulator) {
  		return onAssembly(new FluxScan<>(this, accumulator));
  	}
docs: Reduce this {@link Flux} values with an accumulator {@link BiFunction} and
  also emit the intermediate results of this function.
  <p>
  Unlike {@link #scan(Object, BiFunction)}, this operator doesn't take an initial value
  but treats the first {@link Flux} value as initial value.
  <br>
  The accumulation works as follows:
  <pre><code>
  result[0] = source[0]
  result[1] = accumulator(result[0], source[1])
  result[2] = accumulator(result[1], source[2])
  result[3] = accumulator(result[2], source[3])
  ...
  </code></pre>
  
  <p>
  <img class="marble" src="doc-files/marbles/scanWithSameReturnType.svg" alt="">
  
  @param accumulator the accumulating {@link BiFunction}
  
  @return an accumulating {@link Flux}