> preserve the original fill value...What do you think?

There is no original fill value. If it comes from multiple masked arrays, there are multiple fill values.

Nans in the data is something @rhattersley has mentioned in the past so I was expecting to have to discuss this. I think, because nans stop things working anyway, e.g ```np.sum([1,2,np.nan,4,5])  # returns nan``` this is a good starting point, but...

...this won't work with integer data, which might be a problem: ```m = ma.array([1,2,3,4,5], fill_value=np.nan)  # fails```

We could choose ```-1e20``` but that's more likely to be valid data.
We could also calculate a fill value outside the data range, which might be the best option if we can't use nan?

I'll go with the flow on this but I recommend nan or -1e20.