The correct strategy would appear to be to destroy and re-create any
indices that are derived (depend?) on the indices being eliminated.
+
+Code Generation Strategy 2
+--------------------------
+
+1. Determine indices for all nodes in tree.
+
+2. Determine which indices are created and destroyed by each node.
+
+3. By default, we assume that all nodes assign their results to arrays,
+which then permit random access by the next operand.
+
+4. Nodes which share common prefixes can be moved inside the same loops.
+
+5. Nodes which share common prefixes can have their array temporary
+extends reduced.
+
+6. Nodes have two sets of indices
+ - Indices representing the size of data they produce.
+ - Indices representing the loops required to iterate over them.
+
+7. FFT nodes entirely destroy their spatial indices.
+
+8. Nodes access data by providing index bindings for all indices they destroy.
+
+9. Nodes set data by providing index bindings for all indices they create.