Further, could we rename numpy.ma.core to numpy.ma._core? I think we should make it clear that users should not import from core directly.
Just to add a bit of noise here, it's not that we were importing directly from .core, it's that pickle was telling us that the actual class associated with the masked array was numpy.ma.core.MaskedArray (erm, well, numpy.core.ma.MaskedArray in the older version).
Changing the location *again* will break it again, in the exact same way.
A>