Merge pull request #70 from ned14/master

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