+ (if (kontinue? proc)
+ ;; Resume continuation.
+ ;; We need to pass in #f, otherwise we sometimes get errors like
+ ;; "Zero values returned to single-valued continuation""
+ ((kontinue-kont proc) #f)
+ ;; Otherwise call the procedure and set up error catching.
+ (maybe-catch-all
+ ((agenda-catch-handler agenda)
+ (agenda-pre-unwind-handler agenda))
+ (proc))))