strict aliasing fixed