A restricted n-tuple from m sets here refers to a sequence of n elements from the given m sets, where, unlike a normal tuple, there is required to be at least one element from each set.
A restricted n-tuple counting function is a function which takes n and returns the number of possible restricted n-tuples for the given m sets.
Counter for calculating number of restricted tuples
Cache holding the counting functions for sets calculated
Iterator yielding all possible restricted tuples for given sets and a given length.
Generator for yielding restricted tuple
Experimental generator with cache