We have limited use of `Vector3` in the engine, so I converted it into a record and removed almost all of its methods.
Converting it to a record also means it's not mutable anymore, which is a positive in my book. That required a few minor changes in `Matrix4` but nothing major.