#compile.scm内の$consタグの定義が、
#(define-simple-struct $cons $CONS #f (arg0 arg1))
#のようになっていてsrcが抜けているんですが、意図してのことですか?
#あ、テキスト内検索してみたら$cons-arg0や$cons-arg1は使ってないみたいですね。
#ですがこれらのゲッターを使うと、ずれたインデックスから値をとってくると思います。
#うぎゃ、単なるミスだと思います。$cons-arg0等を使ってなかったので今まで発覚しなかったのでしょう。
#コンストラクタも$consを別に定義して使ってるし。