ChemicallyTyped is a refinement of StrictlyChemicallyTyped, in that it requires everything that the latter concept defines, with the addition of methods to set the chemical type and type system associated with an object.
X -- A type that models the ChemicallyTyped Conceptx -- An object of type X 
| Expression | Type Requirements | Precondition | Semantics | Postcondition | Complexity 
 | 
|  void x.set_type(X::type_id t) 
 | x is mutable | The type_id of x will be set to the value t. | x.type() will return the value t | O(1) 
 | |
| X::chemical_type_system & x.get_chemical_type_system() | x is mutable | A reference to the chemical_type_system associated with x is returned. | O(1) 
 | ||
| void x.set_chemical_type_system(X::chemical_type_system const & ts) | x is mutable | The type_system associated with x will be set to a copy of ts. | ts will be copied. x.clone_type_system() will return a copy of ts. | 
 | |
| X::dictionary & x.get_dictionary() | x is mutable | Returns a reference to the dictionary object associated with x. | O(1) | 
 1.5.1
 1.5.1