#'がある理由って一体何なんでしょうか?
最初は1つのシンボルが関数と値の二つを同時に持てたなら
x -> xの値を返す
'x -> シンボルxを返す
#'x -> xの指している関数を返す
という風に使い分けをするためなのかと思ったんですが
(setf x 10)
x -> 10
(setf x #'+)
x -> 関数オブジェクト
#'x -> エラー
となって1つのシンボルが同時に関数と値を持てないことがわかりました。
それなら何故applyのような関数を要求する関数には#'を付けた変数を渡すといった
ルールをわざわざ作ったんでしょうか?