Cool, I think you found a bug in NumPy!  Want to report it?

I'm not 100% convinced by the error type yet.  From the Python docs:

> exception TypeError
> Raised when an operation or function is applied to an object of inappropriate type. The associated value is a string giving details > about the type mismatch.

In our case, we're applying the operation to an object of type `ndarray`, so not being an `ndarray` would result in a TypeError.  However, if properties *on that object* are set to the wrong values (`dtype`, `shape`), I don't see how that qualifies.  But, in this case the distinction is vague enough that I'm willing to go with what you suggest, if you think it's a good idea.