とりあえず、call/cc を使えばできるんです。

(call/cc (lambda (return)
(let loop ()
(proc-A)
(if (end? )
(return ))
(proc-B)
(loop))))

でも、長いんです。