; For the paranoid who fears double calling of arg to pb: (lambda (pb pe) (let* ((a #t) (rv (call/cc (lambda (p) (pb (lambda (ev) (if a (p (pe ev)) (car "GoToHell")))))))) (set! a #f) rv)) ; Exploit simple version: (let ((ex 0)) ((fileVal "try") (lambda (e) (write "working") (set! ex e) 'w) (lambda (t) (write (list "exception" t)) 'e)) (newline)(ex 666))