template <class T, T... I>
struct Seq {
static constexpr T PackSize = sizeof...(I);
};
template <typename T, T N>
using MakeSeq = __make_integer_seq<Seq, T, N>;
using SizeT = decltype(sizeof(int));
template <SizeT i, typename ...T>
using TypePackElement = __type_pack_element<i, T...>;
template <int i>
struct X;