Any Gamma expression which makes a call to a function, such as
tan(3.14159), causes a change of program flow, entering
a new scope and causing execution to be temporarily diverted into the function
being called. In most cases, the function simply returns and flow continues at
the expression containing the function call.
If an error occurs during a function call, the function will not return, and
execution will continue from the most recent
protect/unwind or
try/catch construct (see the Error Handling section of this chapter).