Doesn't msvc complain loudly about aliasing here?