The begin0 form is like begin, but the value of the first expression in the form is returned instead of the last expression: (let ([x 4]) (begin0 x (set! x 9) (display x))) ; => displays 9 then returns 4
(let ([x 4]) (begin0 x (set! x 9) (display x))) ; => displays 9 then returns 4