@bananas Specifications that determine how to convert from one (version of) a type to another, so that you can interoperate between nominally incompatible but semantically compatible types, which is one of the possible ways to deal with the nominal typing problem