C error messages use type instead of "Object"
Examples
--------
Io> MyProto := Object clone
Io> MyProto missingSlot
Exception: MyProto does not respond to 'missingSlot'
Io> list(1,2,3) at(MyProto)
Exception: argument 0 to method 'at' must be a Number, not a 'MyProto'
Io> list(1,2,3) at(nil)
Exception: argument 0 to method 'at' must be a Number, not a 'nil'
Implementation
--------------
const char *IoObject_name(IoObject *self)
IoObject_name has been changed to check for a type slot. If type contains a
IoSeq, then it is returned instead of the tag's name.
IoObject_name is often used when building up exception messages. To help avoid
loops where a type method itself causes an exception, the type slot is not
activated. If it does not contain a string, IoObject_name falls back to using
the tag's name.