総称型はコンパイラ時の型安全のつもりだろうけど、インターフェイスの引数で使うとまったく違った使い方ができるし、
クロージャも同じように使ってるうちに全く想定外の使い方がでてくるんじゃないの。

interface Inte <T extends java.lang.Number>
{
 int compareTo(T obj);
}

Inte<BigDecimal>だとobj.subtract(this)とかできる。