Good point - and I'd rather deal with the mask now than add it in a later PR.
 - `mask_order` can indeed be different from the data order. I'll add this.
 - `mask_byteorder` isn't needed - booleans are single byte entities so don't have a byte order.