template

C++ の template は演算子オーバーロードがなされているか否かで specialization ができるか決まるっていうのはうまくない。
Haskell の型システムのほうがずっとよくできている。class が少ないことと、たとえばモナドインスタンスモナド則を満たしていることを明示的に要求できないところが気に食わないかな。