title: Why do type aliases in C++ use 'using' instead of 'typedef' in their syntax?
body: <p>Clearly, type aliases and templated type aliases are semantically equivalent to typedefs and an extension of typedefs to support template. How come new syntax with the <code>using</code> keyword was created for these instead of using typedefs for the first and some syntax extension with the word <code>typedef</code>.</p>
  
  <p>NOTE: This is not a clone of the "difference between using and typedef" question. I know that <code>using</code> gives the advantage of defining a family of <code>typedef</code>s. What I am asking is why did the standard people decide on having this extension use the <code>using</code> keyword instead of the <code>typedef</code> keyword. This seems like it just adds confusion in the language.</p>