I agree it is needed for the names, but I don't think it's needed for the type itself:

```
from __future__ import unicode_literals
import numpy as np
d = np.array(zip([1,2,3],[4,5,6]),dtype=[(str('a'),'i'),(str('b'),'i')])
```

works in Python 2. However, maybe older versions of Numpy don't?