public static TryAsync <Func <B, C> > apply <A, B, C>(TryAsync <Func <A, B, C> > fabc, TryAsync <A> fa) => fabc.Bind(f => ApplTryAsync <A, B, C> .Inst.Apply(MTryAsync <Func <A, Func <B, C> > > .Inst.Return(curry(f)), fa));
public static TryAsync <R> bind <T, R>(TryAsync <T> tryDel, Func <T, TryAsync <R> > binder) => tryDel.Bind(binder);
public static TryAsync <C> apply <A, B, C>(TryAsync <Func <A, B, C> > fabc, TryAsync <A> fa, TryAsync <B> fb) => fabc.Bind(f => ApplTryAsync <A, B, C> .Inst.Apply(MTryAsync <Func <A, Func <B, C> > > .Inst.ReturnAsync(curry(f).AsTask()), fa, fb));