title: Why does std::stack not use template template parameter?
body: <p>Why do <code>std::stack</code> and <code>std::queue</code> use type template parameter instead of template template parameter for their underlying container type?</p>
  
  <p>i.e. why is <code>stack</code> declared like this:</p>
  
  <pre><code>template&lt;typename T, typename Container = deque&lt;T&gt;&gt;
  class stack;
  </code></pre>
  
  <p>but not like this:</p>
  
  <pre><code>template&lt;typename T, template&lt;typename&gt; class Container = deque&gt;
  class stack;
  </code></pre>
  
  <p>?</p>