My code for a loop-less sequence-on-filter-sequence method required me to add a do
-block to prevent infinite recursion. It seems that if a return path involves a (tail?) recursive call, then outstanding defer
blocks don't trigger until the recursive call finishes. Since my code needed the increment(s) to happen before the recursion, I added the do
structuring.
Am I understanding it correctly?