public static ReadOnlyListExtensions.WhereAtEnumerable <ValueWrapper <TSource>, TSource, TPredicate> WhereAt <TSource, TPredicate>( this ImmutableList <TSource> source, TPredicate predicate = default) where TPredicate : struct, IFunction <TSource, int, bool> => ReadOnlyListExtensions.WhereAt <ValueWrapper <TSource>, TSource, TPredicate>(new ValueWrapper <TSource>(source), predicate);