Signed units are invoked using the invoke-unit/sig form:
invoke-linkage is one of:
(identifier : signature)
(invoke-unit/sig expr invoke-linkage )
invoke-linkage is one of: signature (identifier : signature)
If the invoked unit requires no imports, the invoke-unit/sig form is used in the same way as invoke-unit. Otherwise, the invoke-linkage signatures must match the import signatures of the signed unit to be invoked. If the signatures match, then variables in the environment of the invoke-unit/sig expression are used for immediate linking; the variables used for linking are the ones with names corresponding to the flattened signatures. The signature flattening algorithm is specified in section 22.214.171.124; when the (identifier : signature) form is used, identifier: is prefixed onto each variable name in the flattened signature and the prefixed name is used.