What about the `mask=func(*(msk, axis))`? That is what concerned me. The original does something with the mask, the new version doesn't.