Once we break out early for anything but void arrays, this if should become unnecessary. (which means dtype is just NULL). I wonder if we should not actually force-cast to the correct void typed array. That way
```
a = np.array([(0,1)], dtype='i,i')
a == (0,1)
```
should work correctly. Is there anything that could break if we change that or would that be another bug fix? And if, we need to test for that case as well if array priority works correctly.