Ex 2.22

説明せよ系の問題は苦手だな…。

最初の定義だと空リストに、順次リストの際左端の要素から cons していくために逆順になってしまう。 (list 1 2 3 ...) というのから (... (cons 3 (cons 2 (cons 1 (nil)))) ) と作り上げてしまう。

他方の定義では、リスト構造を逆に作り上げてしまうからダメ。 (cons (cons (cons (nil) 1) 2) ... は scheme のリストではない。