On my machine it is the compiler that crashes => compiler bug. Presumably it is having trouble with the circular alias this.
My first try to avoid this "circular" bug work with opDispatch. (As you can read here on my blog: http://blog.rswhite.de/archives/741) Now i had a new idea to save the Reference and call only these, it seems that it works fine and with a lot less code.
(BTW, what is 'obj' in the invariant supposed to refer to?)
Just for testing. ;) @Alex Rønne Petersen: Thanks a lot, i use assert(obj); that seems to serve the purpose. I hope in the next version "alias this" is more stable.