In reply to avidan_apple:
This issue was recently clarified in the next revision of the LRM.
The size of an array may be solved before the iterative constraints. Unfortunately this doesn't give the user any clarity or guarantees when it will or won't be solved before. Apparently, some tools have found a few cases where they can solve the array size and it contents concurrently, but you should never depend on it.
What this means is that you have to carefully calculate the constraints on the array size based on what you expect the constraints on the element will be, you modify the constraints on the elements based on the size of the array.