Suppose we have:

```
let mut x: [[T; 100]; 200] = ...
```

Suppose furthermore, we want:

```
let mut r1 = &mut x[i+1][j+2];
let mut r2 = &mut x[i+2][j+3];
```

This clearly "can not work" since we can't borrow `x`

mutably twice in the same context. Is there a way to make this happen?

Aside: Yes, I'm 100% sure they are disjoint. No, they are not specified at compile time. It's literally there exists indices i, j where we want items (i+1, j+2) and item (i+2, j+3)