ある意味、>>800 staticおじさんの「コードはコピペで何とかしろや、共通部分増やすと変更時の影響がでかいだろ」は素直な意見なんだなーって思う。

そして、この現象(共通部分が増えると変更時の影響がでかくなる...というか、大変になる)が起きるのは共通部分の仕様が不透明だからだと思う。
コードを見て使われているstatic変数の真の意味をプログラムから察する必要があるわけだし。
オブジェクト指向であれば、オブジェクトが要求するオブジェクトの仕様を明確にする仕組みがある(しかも言語レベルでサポート)のだが、非オブジェクト指向だとこれと言った方法がないからね。

staticおじさんの困りごとは本当に、素直な意見だなーとは思うのだが、なぜ、そこまで課題に気がついているのにオブジェクト指向を採用しないのか、とは思うね。