A pattern in D is this: alias Foo!q{ stuffs } MyFoo;
Where Foo is a templated struct/class. In many ways, this is similar to defining a new type, and I therefore throw out the suggestion that the syntax should reflect this. I may be wrong, but I think this syntax is unused and fitting: Foo MyFoo!q{ stuffs } This is clearly symmetrical with the definition of normal types: class MyClass { } struct MyStruct { } enum MyEnum { } Critique? Thoughts?