@astrofrog: presumably that's why it's a byte array (I assume that means 1 bit per region)? Or maybe you're thinking of some later complications due to overlap? The only thing is, a byte array could become very (redundantly) large with, say, 1000 MOS slits! If you assume the science array is a 32-bit float, you could end up with the mask being 30x the size of the science array, which isn't reasonable just to allow for a few overlaps. Hmmm...