@kaushikcfd raised the question after attempting a precise description in a paper.
Here are some aspects:
- Arithmetic/other ops are guaranteed to be available only on thawed arrays.
- Exchange between array contexts is only allowed on frozen arrays.
Maybe that suffices?