The deep model corresponds to the model used for specifying
operations such as equality, hash function or ordering, which are
computed deeply in a data structure.
Typically, such a model recursively calls deep models of inner types.
The view of a type is its logical model as typically used to specify a data
structure. It is typically “shallow”, and does not involve the model of
other types contained by the datastructure.
This kind of model is mostly useful for notation purposes,
because this trait is linked to the @ notation of pearlite.