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.
