If the left argument is a singleton, it is opened and its items are indexes along successive axes.
(<0 2 ; 2 3) { m 2 3 10 11
What if the left argument wasn't a singleton?
(0 2 ; 2 3) { m 2 11
What is going on here? Nothing special, as this is just your old friend rank. The dyad { has a left rank of 0 and a right rank of _ . This means that the left argument is taken as 0-cells and the right argument is taken in its entirety. Visually:
(<0 2) (first left cell) { m gives 2 (<2 3) (next left cell) { m gives 11
The result is assembled from the 2 and 11 partial results.
This is called scattered indexing.
(0 0 ; 1 1 ; 2 2) { m NB. scatter index a diagonal 0 5 10