public Func <Unit, Task <S> > FoldBackAsync <S>(TryOptionAsync <A> ma, S state, Func <S, A, Task <S> > f) => _ => ma.MapAsync(a => f(state, a)).IfNoneOrFail(state);