public static async Task <Maybe <T> > Where <T>(this Task <Maybe <T> > maybeTask, Func <T, Task <bool> > predicate)
        {
            Maybe <T> maybe = await maybeTask.DefaultAwait();

            return(await maybe.Where(predicate).DefaultAwait());
        }