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