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
       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 pro-
       cessing; with a non-zero status, the shell will behave as inter-
       rupted  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.
