the short name with any parameters, as shown in the UI, e.g. Varchar(15)
the full path with any parameters, as written in Pure
Primitive and opaque types are interned, so equal types are usually the same instance. Equality is still structural, as it must hold across copies of this module too: the same family and the same full name, which for an enumeration is its path alone, so its values are not compared.
An enumeration. Two enumerations are equal when their paths are, whatever their values.