Defining tuples and variants based on mpl::sequences