(define (append2 x y)
 (cond ((null? x) y)
    ((null? y) x)
    (else (cons (car x) (append2 (cdr x) y)))))

(define (append . x)
 (if (null? x) '()
   (append2 (car x) (apply append (cdr x)))))