Could use `np.ScalarType` here to get pretty much everything. The type might not be compatible, but an incompatible type should raise an error. I haven't checked that though.