(define (deep-change e1 e2 l) (deep-map-over-atoms (lambda (x) (if (eq? e1 x) e2 x)) l)) (define (deep-atom-member? e l) (deep-combine-over-list (eval 'or) #f (deep-map-over-atoms (lambda (x) (eq? x e)) l))) (define (count-atoms l) (deep-combine-over-list + 0 (deep-map-over-atoms (lambda (x) 1) l)))