internal static Task <TOutput> SelectMany <T, TResult, TOutput> ( this Task <T> source, Func <T, Task <TResult> > func, Func <T, TResult, TOutput> projection ) => source.Bind(func) .Map(result => projection(source.Result, result));
internal static Task <TResult> SelectMany <T, TResult> ( this Task <T> source, Func <T, Task <TResult> > func ) => source.Bind(func);