Typename not supported in this context, breaks MSVC