title: Restrict variadic template arguments
body: <p>Can we restrict variadic template arguments to a certain type? I.e., achieve something like this (not real C++ of course):</p>
  
  <pre><code>struct X {};
  
  auto foo(X... args)
  </code></pre>
  
  <p>Here my intention is to have a function which accepts a variable number of <code>X</code> parameters.</p>
  
  <p>The closest we have is this:</p>
  
  <pre><code>template &lt;class... Args&gt;
  auto foo(Args... args)
  </code></pre>
  
  <p>but this accepts any type of parameter.</p>