public static OptionAsync<B> BindAsync<A, B>(this Option<A> self, Func<A, Task<Option<B>>> f) { return self .BindAsync(_ => f(_).ToAsync()); }
public static Task <Option <R> > bindAsync <T, R>(Option <Task <T> > self, Func <T, Task <Option <R> > > bind) => self.BindAsync(bind);