<p>A <em>Datatype</em> is a definition of the type of the "value" of a data item (for example, "all integers between 0 and 10"),
and the allowable operations on those values; the meaning of the data; and the way values of that type can be stored.
Some types are primitive - built-in to the language, with no visible internal structure.
For example "Boolean"; others are composite - constructed from one or more other types (of either kind).
For example lists, arrays, structures, unions.
Some languages provide strong typing, others allow implicit type conversion and/or explicit type conversion.
</p>