pass2/$local-assign をデバッグ中

やり残した最適化の1つを ON にしたらおかしくなった。

(display "GO\n")
(define path 3)
(let ((add (lambda (s)
             (set! path s))))
  (add #f)
  (add #f))

s が free variables として認識されないようなバグがある。どうも pass2 で lambda を inline 展開するときにおかしくなる模様。
明日 vm.scm を使って調べる。