(define (walk-tree proc init tree) (cond ((null? tree) init) ((list? (car tree)) (proc (walk-tree proc init (car tree)) (walk-tree proc init (cdr tree)))) (else (proc (car tree) (walk-tree proc init (cdr tree))))))