>>585
じゃあ、空リストでない次の場合には破壊的に変更しているので、
(reverse r) と書くべきですね?

(let ((lst '(a b c)))
(do ((i 0 (- i 1))
(r lst (cons i r)))
((zero? i) (reverse! r))))