(define (deep-combine-over-list combiner null-value l)
(cond ((null? l) null-value)
((pair? l)
(combiner (deep-combine-over-list combiner null-value (car l))
(deep-combine-over-list combiner null-value (cdr l))))
(else l)))