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