Hmm, as with everything else, we agree that templates are a really awesome idea. It's just that the C++ template system is so extremly borked that, well, it can be a bit confusing. Especially frustrating when there are plenty of other languages that can both do the stuff C++ templates do in a less ugly way, or have way easier to use and more sensible template systems of their own.
Oh well, those are always the shots.