Revamp handler-case. Push local bindings onto a stack so they can be examined from a [hypothetical] debugger
Basic shape of the macros looks right to me. Still need to decide how (whether?) invoke-restart is appropriate.