I wrote cl-async. I really missed continuations because any synchronous code that wants to use async basically has to be rewritten all the way up to accept async. This can be somewhat alleviated with promises, but it's still a rewrite no matter how you slice it.
Continuations would have solved this completely by allowing first-class green threads or coroutines or whatever the hell you want to call them. There's cl-cont, which is a horribly hacky syntax macro that converts all your code to CPS and, as I remember it, kind of sidesteps proper error handling altogether.
So, you can argue over which is better for error handling all you want, but I would have strangled a dolphin to have continuations/coroutines back when I was building out the async ecosystem stuff.