なるほど。関数と名前空間が分かれていて、
同じシンボルでも引数としての評価時と関数としての評価時で参照する所が違うから、
関数部分を引数部分と同じように評価するとややこしい事になるんですね。
なんだか名前空間の分かれていないschemeのほうが整然としている気がしました。(触ったことはないのですが)
そういった整然さを捨ててまで名前空間を分けた理由とは何なのでしょうか。

(let ((+ 10) (- 5)) (* + -))
仕様の選定人の中にこういう趣味の人がいたのでしょうか?