A type can inherit from multiple supertypes, but must rename same-named inherited operations or properties. Section 2.2.1 notes that new subtypes may only be defined under type Object. Type compatibility for objects is by name. Two objects have the same type if and only if they are instances of the same named type. An object of a given type can be assigned to an object of any of its supertypes.
Relationships are a kind of property defined between two mutable object types.
Relationships are not objects. 9.2 attributes Attributes are a kind of property defined on a single object type. Attributes take literals as their values. Additional subtypes can be defined, but operations on the built-in literal types cannot be redefined. The literal types are expected to directly map to types in the programming language.