(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)))