(guard function statement1 ...) -> varies
If an error occurs while the given statements are being evaluated, guard will cause the function to be evaluated. The error is given to the function as an argument.
This can be seen from the repl with any error, as repl includes (guard traceback (eval (read)))
>> (/ 1 0)
ERROR: bad-args -- attempted divide by zero
TRACE: (<program>)
(repl)
(/ 1 0)
>>