Some primitives could be wrapped, unwrapped and rewrapped in order to be used as other ones based on structural subtyping relations.
You can think of subtypes as wrappers and supertypes as contents.
Basetype is a composition of supertypes that leads either to Arrow, Product or Sum:
Both Supertype/Basetype related morphisms can be used in operator compositions:
There are some non-trivial subtyping relations:
There are special wrappers that don't actually wrap anything: