docs: public  <R1, R2, R3, R4> Writer<W,R4> forEach4(Function<? super T, ? extends Writer<W,R1>> value2,
                                                     BiFunction<? super T, ? super R1, ? extends Writer<W,R2>> value3,
                                                     Function3<? super T, ? super R1, ? super R2, ? extends Writer<W,R3>> value4,
                                                     Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R4> yieldingFunction) {
  
  
          return this.flatMap(in -> {
  
              Writer<W,R1> a = value2.apply(in);
              return a.flatMap(ina -> {
                  Writer<W,R2> b = value3.apply(in,ina);
                  return b.flatMap(inb -> {
  
                      Writer<W,R3> c = value4.apply(in,ina,inb);
  
                      return c.map(in2 -> {
  
                          return yieldingFunction.apply(in, ina, inb, in2);
  
                      });
  
                  });
  
  
              });
  
  
          });
  
      }