Another type constructor that is very heavily used in implementing abstract data types, but absent from this proposal, is pointer to ...
It is not difficult to view a pointer variable as a function. For example:
P : pointer to Person;can be viewed as a function of the following type:
P : {} {f f : {} Person}
However, pointers are error-prone and troublesome. Moreover, a language supporting sets, lists, generalized functional mappings and abstract values, has no need of pointers.