Hum, I tried to play around with using a buffer of `long` or `void*` to see if that forced any alignment on win32, but no cookie. It does work on linux though... provided the max alignment of the class is 8, and I showed above you can have classes with higher alignment.

So long story short, without proper compiler support, I don't think there's any way around this.