public static IAsyncObservable <bool> All <TSource>(this IAsyncObservable <TSource> source, Func <TSource, ValueTask <bool> > predicate) { if (source == null) { throw new ArgumentNullException(nameof(source)); } if (predicate == null) { throw new ArgumentNullException(nameof(predicate)); } return(Create <bool>(observer => source.SubscribeSafeAsync(AsyncObserver.All(observer, predicate)))); }