One nice thing about
building out a custom debug UI as I'm writing a program: it turns into an explorable explanation by the time I have a working program. Here's a (silent) explorable explanation for a simple program that I nonetheless struggled to get right.
Each screen is a hundred lines beyond
Lua Carousel (which has existed before this whole idea of debug UIs was a twinkle in my eye)