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  exe-
       cuted.

       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.
