(define (accumulate combiner nullval term a next b) (define (accum-iter count currval) (if (> count b) currval (accum-iter (next count) (combiner currval (term count))))) (accum-iter a nullval))