ただいま〜今日は1日中眠かったよ…
解答うpしますね。
ちなみに環境はxyzzyです。

(defun _reverse (x &optional (y nil))
(if (null x)
y
(_reverse (rest x) (cons (first x) y))))

(defun _append (x y)
(if (null x)
y
(cons (first x) (_append (rest x) y))))

(defun _length (x &optional (y 0))
(if (null x)
y
(_length (rest x) (+ y 1))))