docs: public static <T extends Throwable, L, R> Either<L, R> trying(CheckedSupplier<T, ? extends R> supplier,
                                                                    Function<? super T, ? extends L> leftFn) {
          return Try.<T, R>trying(supplier::get).toEither(leftFn);
      }