> The base class defined to_numpy using __array__ (via np.asarray)    That's because it is a "dummy" fallback implementation. The base class also doesn't define `__array__`, so in that case it would fall back to using iter/getitem I think. Here we can be smarter about the exact conversions to numpy.