C++ developers constantly wrestle with `vector` iterator invalidations. Good on Zig for making this a first-class concern.
So an iterator takes an immutable reference to the vector and mutation requires a mut ref, and you can't have both at the same time.