Procedures and arrays have identical structure for the purposes of type
Each defines an operator with an arbitrary number of parameters of
The operator indication that identifies this operator may take several
forms depending on the language definition.
Expression module provides computational roles and
context-dependent operations to support the type analysis of these
Specifications for procedures and arrays can be divided into three