rank-2 vs. arbitrary rank types