withTape

fun withTape(block: () -> Unit): ExecutionTape(source)

Execute the given block with a fresh tape pushed on the stack and recording enabled. The tape is returned after the block finishes (even if it throws).