It seems that if the second argument to if is not evaluated. Thanks!
(define (try a b)
(if (= a 0) 1 b))
;Value: try
; Looks like applicative order evaluation:
(try 0 (/ 1 0))
;Division by zero signalled by /.
; Looks like normal order evaluation from the left
(if (= 1 1) 1 (/ 1 0))
;Value: 1
; How is it implemented?
(pp if)
;Syntactic keyword may not be used as an _expression_: #[keyword-value-item 16]