Type blocks
Type blocks define the type of Michelson values. These include the contract storage
and the signature of contract entry points
and on-chain views
.

Singleton types
A singleton type is a simple kind of data type that comprises only one value.

Container types
Container types can comprise multiple inner values of one or more data types.

Artificial types
Artificial types do not exist natively. They are aggregations of native types that comprise custom data structures. An example is a record
, a data structure composed of nested Pair
types.
