* Non-block arrays should not be ignored when exploding types. * When not exploding, set the array size correctly on each item.
* The stages mask is more fine-grained, and each variable or block's mask indicates which stages it's active in.