Before considering defining a new data type, it is important to consider how objects of this type will be retrieved and if and how two such objects will be considered to be identical. For most such additions, the Attribute file will likely have to be modified to include a new column, which will entail updating any attribute data files. If the new data type has substructure, you may want to consider encoding it using the Entity representation, or at least, modeling the new data type on it. If the new data type has is "interned" (i.e., two occurrences of the same literal denote the same object, as in Java interned strings, Lisp symbols, or identifiers in most programming languages), you may want to use the Keyword table as your model. Finally, if the new data type is closely modeled by a database internal type, you may find the treatment of the stringValue, intValue, etc. types the best model.