An excellent talk by Timur about type punning, the UB weirdness that accompanies it and attempts at doing something similar with modern C++ without UB (which led to std::bit_cast and other proposals) while revisiting notions like aliasing and alignment.