If you use any part of the standard C++ library, you're using templates. And if you're not using iterators, I'd expect you're writing too many error-prone loops that are already implemented by the STL algorithms. If you're using any form of smart pointer, you're using template. If you're not using a smart pointer or an STL container, you most probably have leaks. And you're definitely not using lambda functions which are useful in any language.
Rejecting a new keyword makes sense. It doesn't reveal any bad design. Adding new keywords increases the risk of breaking existing code that uses common English words. Not many people want to appreciate this, it seems. You can't in one breath criticize C++ for being complicated at the same time as criticizing it for not complicating things with new keywords.