最近Lispを勉強し始めた超初心者です。
関数型言語も初めてです。

末尾再帰の最適化をするとコンパイラがループにしてくれるので効率がいい、の説明が腑に落ちません。
再帰は読むのも書くのもループより高コストだと思いますが、
その結果がループ並みに早くなる、では何のために再帰にするのかわかりません。

なにか他にメリットが有るのでしょうか。