Working on type traits compatability for visual studio, not as terrible as I thought