That depends on what you want to use it for. For the most common uses
of templates, generics do what's required. For some weird and wonderful
uses of templates, generics doesn't even *try* to fill the "gap",
because the gap isn't considered by MS to be worth filling. There are
some things in between where it would be nice to have generics
understand more of the world, but for various reasons it's impractical.