>>683
(let ((if #t))
 (when if (set! if 'now))
 if))
はマクロ展開されると、だいたい
(let ((#:if1 #t))
 (if #:if1 (begin (set! #:if1 'now)))
 #:if1)
な感じになる。というわけで結果はnowとなる。
こんなんでいいのかな?