public static Maybe <K> Select <T, K>(this Maybe <T> maybe, Func <T, K> selector) { return(maybe.Map(selector)); }
public static async Task <Maybe <K> > Map <T, K>(this Task <Maybe <T> > maybeTask, Func <T, Task <K> > selector) { Maybe <T> maybe = await maybeTask.DefaultAwait(); return(await maybe.Map(selector).DefaultAwait()); }