import std.stdio; void main() { writeln(typeid(Test!int)); } template Test(T...) { alias immutable(T[0]) Test; } This prints "int" instead of "immutable(int)" like I would expect. Is this a bug, or is that what is supposed to happen?