Horrible, ugly, nasty MSVC compatibility hacks