Exercise 2.11

ちょっとだけ。lambda-calculus-subst 手続きですが例えば var-exp の部分が以下になってて

            (var-exp (id)
              (if (eqv? id subst-id) subst-exp exp)

subst-exp に単純に置きかえるのではなくて

  (if (occurs-free? id exp)
      subst-exp
      (fresh-id exp id))

みたいにすれば良いのかな。実装は別途で。