public static IAsyncEnumerable <TSource> TakeWhile <TSource>(this IAsyncEnumerable <TSource> source, Func <TSource, int, bool> predicate) => LinqEnumerable.TakeWhile(source, predicate);