#直交した機能がひとつの引数に載せられてるのが気持ち悪いというのはわかります。迷ったんですが、macroexpandは本家のシグネチャがform &optional envなんですね。で、用途として対話的に展開を確かめたい場合とプログラム中で自分で展開して結果をいじりたい場合があって、後者は環境を指定しないとほぼ意味が無く、前者は環境を指定しないことが多いだろう、としてこの仕様にしてみました。
#もし結果をunwrapしないというフラグを別に設けた場合、プログラム的に展開する時に(macroexpand form env t)などとなって、慣習的な呼び出しと違っちゃうんですね。REPLで他モジュール指定して展開したい場合はレアケースだろうから自分でunwrapしてもらえばいいかなと。
#分かりやすい説明ありがとうございます。了解です。