There exist two kinds of subtyping validation mechanism:

The former depends on the structure of a type (see structural types), whereas the latter depends on the position of an identified type in the identified type hierarchy.


These two mechanisms are better known together as:

However, the conventional nomenclature “nominal subtyping” collides with the concept of nominal identifiers. For this reason, a more general and appropriate nomenclature “identified subtyping” is used within the Exo programming language documentation.

It is worth noting that “nominal subtyping” and “identified sybtyping” are really interchangeable. The former have simply been replaced by the latter inside this documentation to better suit the nomenclature needs.