void main(){
A!(int) a;
a.f();
}

struct A(T){
T t;

A!(A!(int)) f(){
A!(A!(int)) a;
return a;
}
}
これってやっちゃいけないことなのかな。
エラーになる。
Aをコンテナとして、リストのリストと言う具合に、
入れ子にするのは良くあることだと思うのだけど。