After a quick thought about my RTTI code, I created a second version of RTTI where Object and Class merge into one class, ultimately making it possible to declare classes without any additional object wrapping. I still think it's better to give the coder working with RTTI a chance to decide if he want objects from an RTTI class with or without type ID. So I'm trying to combine both systems in a way that you can choose between two base classes, one for manual and one for automatic RTTI adding, but with compatibility between them. This isn't a problem, as you can use inheritance to let both variants have the same base class. In the I would have two types of RTTI classes - one class for manual typeID support in objects and another one for automatic typeID support. I'm not sure how to combine them with sense, I'd rather want one class for both variants but the same object instantiation for both. I know, that's logically impossible, but I hope I found a way to combine them anyway. If both are possible and just sums of there base components, there must be a way to get a proper usage.