Generate permutations of a slice in a memory-efficient and deterministic manner, using Heap's algorithm.
An iterator over a slice that uses another iterator to control the next element in the sequence.
Produce an iterator over iterators, each one of which yields one permutation of the provided slice. No copying of elements of the slice occurs.
Generate permutations of a given