unittest{
int[][] foo=[[1,2,3],[4,5,6],[7,8,9]];
foo.transposed.writeln;
foo.writeln; //prints []
}
By trying to avoid one allocation, transposed picks up unnecessary constraints and violates "view of data".
Instead it should just eagerly call the .array on the range of ranges for me as thats usually more correct and the only way it compiles anyway.