title: Emulating variadic templates in Scala
body: <p>Suppose you want to have something like <a href="http://en.wikipedia.org/wiki/Variadic_Templates" rel="noreferrer">variadic templates</a> (the ability to define n type parameters for a generic class) in Scala.</p>
  
  <p>For example you do not want to define <code>Tuple2[+T1, +T2]</code> and <code>Tuple3[+T1, +T2, +T3]</code> but <a href="http://www.boost.org/doc/libs/1_42_0/libs/tuple/doc/tuple_users_guide.html" rel="noreferrer"><code>Tuple[T*]</code></a>.</p>
  
  <p>Are there other options than <a href="http://jnordenberg.blogspot.com/2008/08/hlist-in-scala.html" rel="noreferrer">HLists</a> that would support Tuple, Product and Function?</p>