For performance and consistency with np.asarray, ma.asarray should pass through objects that are already of the right type:
>>> x = np.array([])
>>> m = np.ma.array([])
>>> x is np.asarray(x)
True
>>> m is np.ma.asarray(m)
False
Same applies to ma.asanyarray.