Interestingly, the APL community (or at least the kdb/K community) and the Forth community (from what I hear) often push in the exact opposite direction. They seem to love to take advantage of any accidental regularity in the problem as given to simplify the code as much as possible.
The logic is that often the specs don't change, and if you make the code concise enough, you can just rewrite it if you need to make it more general.
Oh, some things never change. Others change all the time... And there are a few that absolutely never changed, but as soon as you automate them, they will change.
The logic is that often the specs don't change, and if you make the code concise enough, you can just rewrite it if you need to make it more general.