Promoting the 0-dimensional value to a 1-dimensional one is not intuitively correct. By using `np.ma.masked` (which is a 0-dimensional ndarray) instead it makes it easier for me to understand:
```python
if array.mask:
    data = np.ma.masked
else:
    data = array.data
```

That said...
```python
>>> # As you'd expect/hope, changing the shape raises an exception...
>>> np.testing.assert_array_equal(np.array([5]), np.array([5]))
>>> np.testing.assert_array_equal(np.array([5]), np.array([[5]]))
AssertionError: 
Arrays are not equal

(shapes (1,), (1, 1) mismatch)
 x: array([5])
 y: array([[5]])
>>> # But not for 0-dimensional arrays!!
>>> np.testing.assert_array_equal(np.array(5), np.array(5))
>>> np.testing.assert_array_equal(np.array(5), np.array([5]))
>>> # :-(
```