A while ago there was a suggestion by Andrei to incorporate this sort of syntax:
template ElementType(T : T[])
{
alias ElementType = T;
}
struct Foo(T)
{
alias Type = T;
}
I think people agreed it was a nice syntax, but I don't know if anyone
tried to implement it.