public static <A, B, Z extends IOException> F<A, Validation<Z, B>> Try_F(Try1<A, B, Z> t) { return Try.f(t); }
public static <A> P1<Validation<IOException, A>> p(IO<A> io) { return Try.f(toTry(io)); }
public static <A> SafeIO<Validation<IOException, A>> toSafeValidation(IO<A> io) { return () -> Try.f(io::run)._1(); }
public static <A, B, E extends Exception> Function<A, Validation<E, B>> TryCatch1_Function(final Try1<A, B, E> t) { return a -> Try.f(t).f(a); }
public static <A, B, C, E extends Exception> BiFunction<A, B, Validation<E, C>> TryCatch2_BiFunction(final Try2<A, B, C, E> t) { return (a, b) -> Try.f(t).f(a, b); }
public static <A, E extends Exception> Supplier<Validation<E, A>> TryCatch0_Supplier(final Try0<A, E> t) { return () -> Try.f(t)._1(); }
public static <A, B, Z extends Exception> SafeIO<Validation<Z, A>> Try_SafeIO(Try0<A, Z> t) { return F_SafeIO(u -> Try.f(t)._1()); }
public <A> P1<Validation<Exception, A>> submit(DB<A> db) { return Try.<A, Exception>f(() -> { try (Connection c = ds.f()) { return db.run(c); } }); }
public static <A> IO<State<BufferedReader, Validation<IOException, String>>> readerState() { return () -> State.unit((BufferedReader r) -> P.p(r, Try.f((Try1<BufferedReader, String, IOException>) BufferedReader::readLine).f(r))); }