Consider the following scheme for assigning indices to the values produced as a result of the message atEachGenerate: Let $(1,1)$ be the index of the first value produced by the first intermediate generator; $(1,2)$, the index of the second value produced by the first generator; $(2,1)$, the first value produced by the second generator, and so on. If the first intermediate generator produces $\mathrm{n}$ values and the second intermediate generator $m$ values, then the sequence of indices produced can be represented as follows:
$$(1,1)(1,2) \ldots(1, n)(2,1)(2,2) \ldots(2, m)(3,1) \ldots$$
Construct a method which produces the same values but in the following dovetailed sequence:
$$(1,1)(1,2)(2,1)(1,3)(2,2)(3,1)(1,4)(2,3)(3,2)(4,1) \ldots$$
Note that this involves keeping a list of intermediate generators, rather than just the single intermediate generator required for atEachGenerate: Under which of the conditions given in problem 6 is the resulting sequence enumerable?