public static ValueTask <TResult> MatchAsync <T, TException, TResult>(this Option <T, TException> option, Func <T, ValueTask <TResult> > some, Func <TException, ValueTask <TResult> > none) => option.Match(some, none);
public static ValueTask <TResult> MatchAsync <T, TException, TResult>(this Option <T, TException> option, Func <T, ValueTask <TResult> > some, Func <TException, TResult> none) => option.Match( some: x => some(x), none: e => new ValueTask <TResult>(none(e)));