A great deal of the collisions with the customers code can be avoided by choosing symbolic adress priority. You can then write and maintain your code without having to worry about changing adresses.
However, for indexing through an array in a dynamic kind of way, I think there is no other way than extracting the number of elements programatically just like you are doing.
However, for indexing through an array in a dynamic kind of way, I think there is no other way than extracting the number of elements programatically just like you are doing.