Sigh. I know about inferred typing, and I understand that the compiler knows the type. That was not my argumetn. My argument was about clarity and information provided by the code to readers and maintainers of the code.  And 'auto' indisputably provides the human reader less information then actually declaring the type. I simply don't see the advantage of using it in a language that doesn't always allow eliding type declarations or has dynamic typing. I'm officially bowing out of this thread and not debating templates.