public static bool AllAt <TSource, TPredicate>(this ImmutableStack <TSource> source, TPredicate predicate = default)
     where TPredicate : struct, IFunction <TSource, int, bool>
 => ValueEnumerableExtensions.AllAt <ValueWrapper <TSource>, ValueWrapper <TSource> .Enumerator, TSource, TPredicate>(new ValueWrapper <TSource>(source), predicate);
 public static bool AllAt <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, int, bool>
 => source.Count is 0 || ValueEnumerableExtensions.AllAt <TEnumerable, TEnumerator, TSource, TPredicate>(source, predicate);