UNIT-TYPE ::= unit-type SPEC* SPEC
A unit type is written:
SP1 × ... × SPn -> SPWhen the list SPEC* of argument specifications is empty, the unit type is simply written `SP'.
A unit satisfies a unit-type when it is a persistent function that maps compatible tuples of models of the argument specifications SP1, ..., SPn to models of their extension by the result specification SP.