There are some issues related to selection of iteration variables that needs to be settled. The compiler computes alias sets from equations of the type
x = y
in which case x *or* y may be eliminated. How to chose which variable to keep is non-trivial. Also, it seems necessary in some situations to propagate information from the variables in an alias set which are not selected to the iteration variable of the alias set. Consider for example an alias set where one of the variables is an input - in order to preserve the structure of the model, the iteration variable then needs to have input causality. Another example is variable attributes. For example, if a variable has the fixed attribute set to true, this information cannot be discarded if another variable is selected as iteration variable. If it is, then the number of initial equations change and the model most likely becomes unbalanced.
Ideally, we can come up with a consistent and transparent set of rules for selection of iteration variables.