( append '(d) '(a) )
(cons (car '(d)) (append (cdr '(d)) '(a)) )
(cons 'd (append '() '(a)) )
(define (append x z)
(cond ((null? x) z)
(else (cons (car x) (append (cdr x) z))) ))
xが空リストでない
新しいappendを駆動(append2回目)
(append x z)