alias T = Tuple!(int, int); alias Ts = Tuple!(T, T);template A(S0..., S1...) { alias s0 = S0; alias s1 = S1; } A!(Ts.init).s0 a;
so alias T = Tuple!(int, int); alias Ts = TupleSC!(T, T); then Ts == ((int, int); (int, int)) and alias T = TupleSC!(int, int); alias Ts = Tuple!(T, T); (int; int), (int; int)) and alias T = TupleSC!(int, int); alias Ts = TupleSC!(T, T); (int; int); (int; int))which all can be written longhand as TupleY!(TupleX!(int,int), TupleX!(int,int)).