anchor.diff:          | _ -> failwithumf ()
           (cursor, rand)
   
  -    static member tryAddSouthOpeningRoomFromNorthWest specialSegmentType map =
  +    static member tryAddSpecialRoomSouthFromNorthWest specialSegmentType map =
           let mutable bossRoomAdded = false
           for i in 0 .. 7 - 1 do // starting from the north row
               if not bossRoomAdded then
  
positive.code:     | SegmentBN = 0b100001
      | SegmentBS = 0b100100
  
  module Segment =
  
      let isNarrative (segment : Segment) =
  
negative.code:         map.MapSegments.[cursor.Y].[cursor.X] <- map.MapSegments.[cursor.Y].[cursor.X] ||| opening
          let (tryAddBoss, rand) =
              Rand.nextItem
                  [MapRand.tryAddSpecialRoomFromNorthSouthEast BossSegment
                   MapRand.tryAddSpecialRoomNorthFromSouthWest BossSegment
                   MapRand.tryAddSpecialRoomSouthFromNorthEast BossSegment
                   MapRand.tryAddSpecialRoomSouthFromNorthWest BossSegment]
                  rand
          let (tryAddNorthOpeningNarrative, rand) =
              Rand.nextItem
                  [MapRand.tryAddSpecialRoomFromNorthSouthEast NarrativeSegment
                   MapRand.tryAddSpecialRoomNorthFromSouthWest NarrativeSegment]
                  rand
          let (tryAddSouthOpeningNarrative, rand) =
              Rand.nextItem
                  [MapRand.tryAddSpecialRoomSouthFromNorthEast NarrativeSegment
                   MapRand.tryAddSpecialRoomSouthFromNorthWest NarrativeSegment]
                  rand
          let isMapValid =
              tryAddNorthOpeningNarrative map &&
  