From returns a sequence of unique pseudo-random integers in [0, m).
The sequence yields each value at most once and stops when the caller stops
iterating; callers should not consume more than m values.
Take returns a sequence of exactly n unique samples drawn from [0, m).
It yields pairs (i, r) where i is the 0-based sample index (0..n-1) and r
is the sampled value. Requires 0 < n < m.