(define (tree-accumulate tree term combiner null-value) (cond ((null? tree) null-value) ((pair? tree) (combiner (tree-accumulate (car tree) term combiner null-value) (tree-accumulate (cdr tree) term combiner null-value))) (else (term tree))))