add typeName() support for abstract objects