really_reinterpret_cast is a hack because we are doing Very Bad Things. The C++ standard says that you cannot convert
pointer-to-methods to any other kind of pointer (not even void*!). I was unable to dig up the exact reasoning, but I
think it is because the C++ implementation is allowed to make pointer-to-members have any format it wants. They don’t
even have to be the same size as a normal pointer.

But that’s boring. :D I doubt Microsoft will change how this works any time soon now that existing code depends on it, and there is potential here to do something that is very useful.

It turns out that the unspecified implementation that they chose was for a pointer-to-member-function to either point to the code directly (like a stdcall function), or to point to a thunk that will go to the right place, if the method is virtual. In other words, we can just jump to it and we will be jumping to the right place.