- Are dtypes supposed to be comparable (i.e. implement '==', '!=')? - Are dtypes supposed to be hashable?
PyCUDA and PyOpenCL assume both in a few places, but at least hashability doesn't seem to be true. (If so, __hash__ should be implemented to throw an error. If not, we found a bug in the hash implementation.)