I don’t quite understand what you mean by the distinction between resume and restart here. CL condition handlers allow code that signals a condition (sort of equivalent to “throws an exception) to continue on as if the condition was never signaled. You just need a handler-bind somewhere in the stack that doesn’t perform an exit. You can use this to do things like catch a type error and convert the input value to the expected type on the fly.