finalized abstraction for ITypeInfo