I don’t think that casting a range of bits as some other arbitrary type “is a bug nobody sees coming”.
C++ compilers also warn you that this is likely an issue and will fail to compile if configured to do so. But it will let you do it if you really want to.
That’s why I love C++
Debugging code is always harder that writing it in the first place. If you make it as clever as you can, you won’t be clever enough to debug it.
Some junior will call it ”skill issues” and then write the most unreadable code ever.