static internal String ToRankString(int rank){
switch(rank){
case 1 : return "[]";
case 2 : return "[,]";
case 3 : return "[,,]";
default:
StringBuilder str = new StringBuilder(rank+1);
str.Append('[');
for (int i = 1; i < rank; i++) str.Append(',');
str.Append(']');
return str.ToString();
}
}