調子にのってると思われるかもしれませんが、できれば
こちらの解説もおねがいできないでしょうか?

(define x (lambda (y) (lambda (z) (cons z y))))
((x '(2 1)) '(4 3))
return ((4 3 ) 2 1),

define xに (lambda (y) (lambda (z)(cons z y))))
がバインドされるのですよね? (lambda (z)に(cons z y)が
バインドされるのでしょうか?そしてそれをlambda (y)にバインド
ということでしょうか?return されるのをみると、与えられてる
ものが逆になってるということだけわかるんですが・・・