It is really difficult to state how much power rust gives you to refactor a codebase without worry becuase it *helps* you so much. And when it's done, it works.
I would have lost days to this in C or C++ (and I have, if not weeks), and still probably would have had UB somewhere.
((Doom is a mess of intertwined pointers, casts relying on a specific struct layout, and this rust rewrite is a transliteration first and where possible, then rustify later))