Your Module Has Three Layers. You Probably Only Wrote One.
Box structures force you to define what a module does, what it remembers, and how it works as three separate, verifiable layers.
You write the code first, then write the tests, then discover the code was wrong. That is the standard loop. It is also why debugging consumes half of most…