@reidrac@social.sdf.org Fair.. An opportunity to take note how avoiding abstraction has its own costs. Like growing codebase makes it progressively difficult to navigate.
Anyway, I, too, usually write a lot of concrete code first, with minimal abstraction. And only when I see that a certain pattern persists I take the abstraction saw to the accrued boilerplate. Expansion-compression cycle of a code pump (8