When an array is contiguous in memory but has `shape[dim] == 1`, then
its `strides[dim]` is not really used, so it can be considered arbitrary
even if the array is contiguous. This is generally true for 0-sized arrays.
If there is no chance of 0-sized (or 1-sized and 1-dimensioal) arrays, then
this code is perfectly correct in current numpy. But its a dangerous
design choice and it would be nice to be able to change numpy at some point.