public static ReadOnlyListExtensions.WhereAtEnumerable <ValueWrapper <TSource>, TSource, FunctionWrapper <TSource, int, bool> > Where <TSource>( this ImmutableList <TSource> source, Func <TSource, int, bool> predicate) => ReadOnlyListExtensions.Where <ValueWrapper <TSource>, TSource>(new ValueWrapper <TSource>(source), predicate);
public static ReadOnlyListExtensions.WhereAtEnumerable <ImmutableArray <TSource>, TSource> HyperWhere <TSource>( this ImmutableArray <TSource> source, PredicateAt <TSource> predicate) => ReadOnlyListExtensions.Where <ImmutableArray <TSource>, TSource>(source, predicate);
public static ReadOnlyListExtensions.WhereEnumerable <ValueWrapper <TSource>, TSource, TPredicate> Where <TSource, TPredicate>( this ImmutableList <TSource> source, TPredicate predicate = default) where TPredicate : struct, IFunction <TSource, bool> => ReadOnlyListExtensions.Where <ValueWrapper <TSource>, TSource, TPredicate>(new ValueWrapper <TSource>(source), predicate);
public static ReadOnlyListExtensions.WhereEnumerable <ImmutableList <TSource>, TSource> Where <TSource>( this ImmutableList <TSource> source, Predicate <TSource> predicate) => ReadOnlyListExtensions.Where <ImmutableList <TSource>, TSource>(source, predicate);