]>
A function that does not return directly to its caller has Exit as its return type. The operation error is an example of one which does not return to its caller. Instead, it causes a return to top-level.
The function gasp is given return type Exit since it is guaranteed never to return a value to its caller.
The return type of half is determined by resolving the types of the two branches of the if.
Because gasp has the return type Exit, the type of if in half is resolved to be Integer.
For functions which return no value at all, use Void. See ugUserPage in Section ugUserNumber and VoidXmpPage for more information.