Separate class hierarchy calculation from class member semantics
fix Issue 12078 - forward reference issue with is() and curiously recurring template pattern
fix Issue 12143 - Base class is forward referenced