He also noted that this is a maintenance issue whenever a new type of look-up is added. Celko is also concerned with the loss of the domain of the codes. Therefore, they create a domain name such as ID and make it a data type of, say, integer. They are both IDs but not the same ID domain. Well, you change its domain which is really just changing the data type.
Meters are the domain with integer as the data type.
ORM uses reference modes on object types to indicate domain keeping data type as a totally different consideration. Even for value types, the domain is different than the data type. In addition, there are any numbers of attributes that are the same data type but in different domains. ORM solves this problem by creating exactly one instance of any entity. How it all turns out in the logical model is determined by the roles the object plays.