It turns out that it really does need to be there.  The reason is that `a[..., 0]` returns a scalar array for a (3, ) array and a length 1 1D array for (1, 3).  In the case of the scalar array the broadcasting tricks don't work.