We could have strongly typed `Axis` arguments (instead of current usize). It even allows mixing dynamically bounds checked axis numbers and statically checked ones: `.subview(Axis(0), 1)` vs. `.subview(Axis0, 1)` would both be possible at the same time.