PLT Scheme の新しいバージョンからリストが immutable になる (set-car! とか append! とかが使えなくなる) ことは随分前にアナウンスされていて知ってはいたんですが、何の対策もしないままリリースを迎えてしまいました (バージョン 4 のアナウンスメント)。 個人的には、連想リストをよく使うので key, value ペアの value を変更するのに set-cdr! は必須だったんです。 とは言え、開発陣の長年の経験から「コンスに対するミューテーションは悪」というテーゼが導かれたわけで、ユーザーとしては大人しく従わなければなりません。 もちろんいくつか対処方法があっての事です。例えば box というコンテナを value の位置に置き、その中にデータを置いて再設定 (set-box!) する、という方法が有力な代替案です。 ただ、box は何となく面倒