public OptionAsync <A> ReturnAsync(Func <Unit, Task <A> > f) => OptionAsync <A> .SomeAsync(f(unit));
public OptionAsync <A> SomeAsync(Task <A> taskA) => isnull(taskA) ? throw new ArgumentNullException(nameof(taskA)) : OptionAsync <A> .SomeAsync(taskA);