return [ n ]
       Causes a shell function or `.' script to return to  the  invoking
       script  with the return status specified by an arithmetic expres-
       sion 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 ef-
       fect 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  re-
       turn the same status as if the signal had not been trapped.
