>>200 mapcarのやり方、楽しみにしてます。
>>205 ご指摘ありがとうございます。

んで、明日は休みなので、>>162さんのfor-each-listで
reverse,append,lengthをやってみた。
とりあえずlambdaというのもつかってみた。
イマイチよく分かってない。

(defun _reverse (lst)
(for-each-list #'list #'(lambda (x y) (append y x)) nil lst))

(defun _append (lst1 lst2)
(for-each-list #'identity #'cons lst2 lst1))

(defun _length (lst)
(for-each-list #'(lambda (x) 1) #'+ 0 lst))