抽象化による生産性の向上と限界

perlにはHTML::Prototypeなるモジュールがあって、いわゆるPrototype.jsでフォームのフィールドの変更を捕捉して特定領域を更新して……みたいな処理を抽象化して書ける*1
が、「フォームのフィールドが変更されたらここを更新するんだけど、実はフォーム内のあるフィールドを変更したらフォーム内のこの領域が置き換わってその中にはフォームのフィールドも含まれていて……」みたいなことをやろうとすると破綻する。こうなっては手書きで戦いを挑まねばならない。
……が、ちょっと待て。そもそもそこまで複雑なインターフェースは使いやすいのか?ここで頑張って当初のコンセプトを実現しても、使い辛ければ意味がない。
てなわけで振り出しに戻る。

*1:まあ、余り賢いモジュールではないので言うほど抽象化出来てないけど。そもそもPrototype.jsのレベルで相当抽象化が進んでるし