// Required by LINQ. public static Cps <TResult, TContinuation> SelectMany <TSource, TSelector, TResult, TContinuation> (this Cps <TSource, TContinuation> source, Func <TSource, Cps <TSelector, TContinuation> > selector, Func <TSource, TSelector, TResult> resultSelector) => continuation => source(sourceArg => selector(sourceArg)(selectorArg => continuation(resultSelector(sourceArg, selectorArg))));
// Not required, just for convenience. public static Cps <TResult, TContinuation> SelectMany <TSource, TResult, TContinuation> (this Cps <TSource, TContinuation> source, Func <TSource, Cps <TResult, TContinuation> > selector) => source.SelectMany(selector, Functions.False);