struct Type(alias a, alias b) { alias b ThisWasB; } template MakeType(alias a, alias b) { alias Type!(a, b) MakeType; } template Foo(alias a, U) { alias U.ThisWasB b; pragma(msg, b.stringof); // gives us the 7 //... } alias MakeType!(5, 7) MyType; alias Foo!(5, MyType) Fooed;