public static bool All <TSource>(this ImmutableStack <TSource> source, Func <TSource, int, bool> predicate)
 => ValueEnumerableExtensions.All <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource>(new ValueWrapper <TSource>(source), predicate);
 public static bool All <TSource>(this ImmutableQueue <TSource> source, PredicateAt <TSource> predicate)
 => ValueEnumerableExtensions.All <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource>(new ValueWrapper <TSource>(source), predicate);
 public static bool All <TSource, TPredicate>(this ImmutableStack <TSource> source, TPredicate predicate = default)
     where TPredicate : struct, IFunction <TSource, bool>
 => ValueEnumerableExtensions.All <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TPredicate>(new ValueWrapper <TSource>(source), predicate);
 public static bool All <TEnumerable, TEnumerator, TSource, TPredicate>(this TEnumerable source, TPredicate predicate = default)
     where TEnumerable : IValueReadOnlyCollection <TSource, TEnumerator>
     where TEnumerator : struct, IEnumerator <TSource>
     where TPredicate : struct, IFunction <TSource, bool>
 => source.Count is 0 || ValueEnumerableExtensions.All <TEnumerable, TEnumerator, TSource, TPredicate>(source, predicate);