s-99-07


 (define flatten 
   (lambda (xs) 
     (cond ((null? xs) 
            '()) 
           ((pair? (car xs)) 
            (append (flatten (car xs)) (flatten (cdr xs)))) 
           (else 
            (cons (car xs) (flatten (cdr xs))))))) 
  
 (flatten '(a (b (c d) e))) ; => (a b c d e)