return [ n ]
       Causes a shell function or `.' script to return to the invoking
       script with the return status specified by an arithmetic expression
       n.  For example, the following prints `42':

              () { integer foo=40; return "foo + 2" }
              echo $?

       If n is omitted, the return status is that of the last command
       executed.

       If return was executed from a trap in a TRAPNAL function, the effect
       is different for zero and non-zero return status.  With zero status
       (or after an implicit return at the end of the trap), the shell will
       return to whatever it was previously processing; with a non-zero
       status, the shell will behave as interrupted except that the return
       status of the trap is retained.  Note that the numeric value of the
       signal which caused the trap is passed as the first argument, so the
       statement `return "128+$1"' will return the same status as if the
       signal had not been trapped.
