I could totally be wrong.

What I'm imagining is that request A calls allow and it returns true, then gives up the main loop.

Request B calls allow and then increment. This is for a new email address, which pushes the total counters to MAX_COUNTERS. Request B gives up the main loop.

Request A calls increment, but there is now no capacity for a new counter, so it throws.

By ensuring this space in `allowed`, it guards against this possibility.