                then (bor', a)
                else let i = abs ia - 1
                         geneValue =
                             if testBit bor' i
                                 then SndValue
                                 else FstValue
                      in (complementBit bor' i, toEnd n $ mapGene d geneValue a)
          where
            notFixed = testBit band
            ia = fromIntegral a
            i = abs ia - 1
