Most C++ programmers stay away from C++ templates due to their perplexed nature. The excuses against templates: Hard to learn and adapt. Compiler errors are vague, and very long. Not worth the effort. Admitted that templates are slightly hard to learn, understand, and adapt. Nevertheless, the advantages we gain from using templates would outweigh the negatives. There is a lot more than generic functions or classes that can be wrapped around templates. I would explicate them.