All Array${rank}D implement ShapedArray.
All Array${rank}D implement ShapedArray.
Use switch statement.
Let the previous result be used as a starting point.