code: @SuppressWarnings({ "rawtypes", "unchecked" })
      public static <R> Seq<R> reduce(final Stream<R> stream, final Iterable<? extends Monoid<R>> reducers) {
          return Seq.fromIterable(new MultiReduceOperator<R>(
                                                               stream).reduce(reducers));
  
      }
docs: Simultaneously reduce a stream with multiple reducers
  
  <pre>{@code
  
  Monoid<Integer> sum = Monoid.of(0,(a,b)->a+b);
  Monoid<Integer> mult = Monoid.of(1,(a,b)->a*b);
  val result = Streams.reduce(Stream.of(1,2,3,4),Arrays.asList(sum,mult));
  
  
  assertThat(result,equalTo(Arrays.asList(10,24)));
  }</pre>
  
  @param stream Stream to reduce
  @param reducers Reducers to reduce Stream
  @return Reduced Stream values as List entries