refactor to use iris arrays more and move semantic invariants out

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