Provides for all kinds of Eiffel types of entities. For example, `MY_OBJECT` and `like my_object` type markers lead to different `TYPE_MARK`s. Among the most frequent are:

- `ANCHORED_TYPE_MARK` is used for entities declared as `like something`.
- `KERNEL_EXPANDED_TYPE_MARK` is used for "basic expanded" Eiffel types (integers, characters and so on).
- `CLASS_NAME_TYPE_MARK` which marks a type directly derived from a class.
- `USER_GENERIC_TYPE_MARK` handles types instanciated from generic classes (except arrays, managed by `ARRAY_TYPE_MARK` and `NATIVE_ARRAY_TYPE_MARK`)