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

This should use the _value_tag as we are default constructing the value.