Suppose you want to have something like variadic templates (the ability to define n type parameters for a generic class) in Scala.
For example you do not want to define Tuple2[+T1, +T2]
and Tuple3[+T1, +T2, +T3]
but Tuple[T*]
.
Are there other options than HLists that would support Tuple, Product and Function?