Tuple can have variadic (0 or more) type arguments.
Is there a way to achieve this for a user defined type?
I want to represent something like a strongly typed reference to a single database row. Where the struct itself holds only a reference to the database and a row number, and the type parameters are for dynamic dispatch and to ensure only available data can be accessed.
(In C++ I would probably use a variadic template for this)