docs: public static <A extends AutoCloseable, B extends AutoCloseable, C extends AutoCloseable, D> Try<Exception, D> withResources(
              CheckedSupplier<? extends Exception, ? extends A> aSupplier,
              CheckedFn1<? extends Exception, ? super A, ? extends B> bFn,
              CheckedFn1<? extends Exception, ? super B, ? extends C> cFn,
              CheckedFn1<? extends Exception, ? super C, ? extends Try<? extends Exception, ? extends D>> fn) {
          return withResources(aSupplier, bFn, b -> withResources(() -> cFn.apply(b), fn::apply));
      }