`isscalar()` and `isarray()` methods on the typesystem would be very welcome here.  I think you should add them.  There are already some other `is*()` methods you could put these next to.