5 How to grow from here
Once you are comfortable with the worked example, the next useful programs to study are:
"pit/fib.i" for another arithmetic loop,
"pit/rot13.i" for character-oriented transformation, and
"pit/unlambda.i" for a large, real interpreter built on the same control-flow substrate.
The implementation is still conservative about optimization, so clean program structure helps twice: it is easier to understand, and it gives the macro compiler more opportunities to remove unnecessary runtime checks.