title: unique_ptr, make_unique and polymorphism
body: <p>Would not <code>make_unique</code> be more useful if it was designed like:</p>
  
  <pre><code>template&lt; typename T, typename U=T, typename ...ArgT&gt;
  unique_ptr&lt;T&gt; make_unique( ArgT ...args )
  {
      return unique_ptr&lt;T&gt;( new U(args...) );
      // maybe parameters should be forwarded, not really important for this question
  }
  </code></pre>
  
  <p>So that you could use it to create derived objects? <br>
  Anyone know the rational behind not doing this?<br></p>