(defun flatten (tree)
(let ((result '()))
(labels ((scan (item)
(defun flatten (tree)
(let ((result '()))
(labels ((scan (item)
- (if (listp item)
- (map nil #'scan item)
- (push item result))))
+ (if (consp item)
+ (map nil #'scan item)
+ (push item result))))
(scan tree))
(nreverse result)))
(scan tree))
(nreverse result)))