I have one minor issue with this that we may have to live with. There appears to be a chance that I could have a  biggus array wrapped around a numpy masked array using a NumpyArrayAdapter. Consider the case where the underlying masked array has no masked elements. The resulting cube.data array will be numpy array (not masked) that is a view onto the data of the masked array contained by the biggus array. Changes to the values in either will be reflected in the other maintaining a dynamic link. However, as the array started out with a masked_count of zero, the cube.data array will unmasked, so changes masking values in the underlying masked array will not be reflected in the cube's array. This semi-detached state sounds a little dangerous.