genericsとOOは混在できないって話の前提をみんな無視しすぎでしょう。
genericsでできる事はOOでもできる。
従って、OOをベースに
genericsをコレクションにのみ適用するのは
すごく賢いやり方だと思うんだけど、どう?