Each type scheme has its own set of value types and the kind of data they stored. Semantically, data of a value type is copied upon assignment, but the internal implementation might duplicate the value only when necessary. There is no common internal representation of a value type in the Meso runtime either; only the type scheme plugin knows. The runtime delegates value type related work to type scheme plugins, and it is up to the plugin to actually allocate appropriate storage for storing and manipulating the value.
The following sections describe value types in the individual scheme: