- (xlambda ((r r? ...) .. <- (a a? ...) ...) xpr ....)syntax
- (xlambda ((r r? ...) .. <- (a a? ...) ... as as? ...) xpr ....)syntax
where <- separates the results r with postconditions r? ... from the arguments a with preconditions a? ... a rest-parameter as with preconditions as? for each such argument and the body xpr .....
Each xlambda call returns three values, the procedure proper, contract-checked or not, depending on the value of contract-check-level, and documentation of pre- and postconditions in this order.
Deprecated versions of xlambda exist as well. Here k is the number of returned values, if provided, one otherwise.