I think lmfit is not treating np.masked_arrays as well as it could.
For instance, if I want to perform a fit on a simple pair of x-y arrays,
and have y changed to an np.masked_array, then the mask is ignored.
It seems that lmfit is doing it correctly when applying the mask on x as well, though.
However, this can become confusing and there should be at least a warning I guess.
In particular, when then doing the result.plot() method, it can look like the fit just went completely wrong, because then, it does ignore the masked values.
I suggest that lmfit helps to prevent such easily made mistakes.