Just out of curiosity, is there a reason why this checks the numpy datatype kind instead of np.issubdtype? `np.issubdtype(coord.points.dtype, str)` or `np.issubdtype(coord.points.dtype, basestring)` might be slightly more robust.