It is hard to pinpoint what exactly is causing the problem. The internal::has_ReturnType<>::value mechanism seems to work in certain places, but the same macro definition which failed last time makes problems again. However, I couldn't really connect the error message and the place where it occurs to anything specific which might have failed.