(define (find-in-tree tree pred) (call-with-current-continuation (lambda (found) (letrec ((find-in-tree1 (lambda (tree pred) (if (pred tree) (found tree) (let ((subtrees (subtree-list tree))) (for-each (lambda (subtree) (find-in-tree1 subtree pred)) subtrees))) #f))) (find-in-tree1 tree pred))) ))