removing the dependency upon ITypeDefinition