Yes, it's absolutely worth exploring further — and we definitely have notions for ways to further expose and make interactive the running state of the notebook.
But for starters: You can do something similar to expose the internal state of loops and flow-control constructs by just using JavaScript's generators.
Here's an extremely simple example that slowly yields the value of a loop's `i` variable:
https://beta.observablehq.com/@jashkenas/flow-control-demo-w...
If you remove the delay, it'll instead yield `i` at 60fps.