guardIterator
Wrap the snippet's cross-tick iterator so a throw mid-drive doesn't discard what it already printed: the (mojmap-remapped) stack is appended to out and the iterator ends cleanly, so the lane returns the partial output together with the error. Without this, a throw in next() would propagate to the lane pump, which completes the future with just the exception text and loses the buffered output. The throw goes through stack() so it's mojmap-remapped like every other throw.