I&#x27;m not a big C++ user, nor terribly fond of the language in any case, but IMHO the &quot;single-phase lookup&quot; MSVC is doing for templates is conceptually much simpler to understand (and apparently implement) than the standard 2-phase: instantiating a template is literally a textual substitution, which is intuitively what I&#x27;d expect and understand templates to be.