refactor to use iris arrays more and move semantic invariants out

Status Job ID Name Coverage
  Build
canceled #42237
fp-timing
build-coq.8.9.0