This change will aim to enforce stronger invariants during MaskAnalysis. This will include:
- Renaming class members to be more accurate when seeing out of context.
- Adding a form of tagged enum, variant, or other separation to not mix scalar and structured state.
Anything else to help avoid bugs and confusion. This has been motivated by recent bugs in the area misusing class members.