This is the way I am revising the mechanism behind call-w/std(in|out) in Arcueid, by creating a general-purpose continuation mark system built on top of dynamic-wind. This is, of course not yet how Arcueid does it. In fact the code for this isn't even in the Git repository yet and only exists in my local machine, as it's not complete enough to even be compiled. Just wonder how sound the idea is.