I've also realized that my proposed workaround actually doesn't work, because 'alias this' doesn't actually behave like subclassing with respect to references. That is, if Inner2 is 'alias this'ed to Inner1, and I try to pass an Inner2 object to a function that's expecting an Inner1, it actually just passes the _self Inner1 object which knows nothing about Inner2 any more--right?
Correct. -- Simen