Backported to VS2013 using a metaprogrammed emulation of unrestricted unions. Works surprisingly well considering.

That didn't help, but I have put back the test but with an additional construction cast to help VS2013 do the right thing.