Realize some other implementation for the potentially infinite lists from Section 11.2.2. Some Ideas:
1. Binary trees (see Section 6.3). Note that old information has to be overwritten if an already existing key is inserted again.
2. A list of rules of the form $\left\{i_1 \rightarrow e_1, \ldots, i_n->e_n\right\}$. To store a new value at position $i$, you can simply prepend a new rule. For efficiency reasons it may be necessary to remove other rules for the same $i$ to prevent the rule list from growing too much.
3. Your own idea.
Compare efficiency (run time and memory needed) of various implementations.