Copy All denotable objects have an identity. In order to copy objects, copy operations must be defined as part of the object's type. For Collection object types, the copy operation is a shallow copy - returning a new collection with the same elements as the copied collection. For object type Structure, the copy operation is also a shallow copy. Literals are copied by assignment.
All types are instances of type Type.
A class is the combination of a type specification and a specific implementation. The model is strongly typed. Abstract types' are not instantiable - they specify characteristics that can be inherited by subtypes but do not define any implementations. Two objects are compatible if they are instances of the same declared type or if one is an instance of a subtype of the other. Two structured literals have the same type if they have the same structure at every level and the corresponding atomic types are the same.