Something
public text v1 · immutable(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))))))