genZoneChunk :: State -> Int -> Int -> BS.ByteString -> [(Int, Int)] -> [[(Int, Int)]] -> [[(Int, Int)]] -> Int -> ZoneChunk
genZoneChunk state x y zc0 conts seeds rands nconts = ZoneChunk { gbs = zgsr
                                                                , cbs = zcsr
                                                                , ebs = BS.empty
                                                                }
  where zgsr     = edgeZoneGrid zonew zoneh zcsr
        zgs0     = initZoneGrid zonew zoneh zcsr
        zcsr     = initZoneCont state x y
        zonew    = settingZoneW settings
        zoneh    = settingZoneH settings
        settings = stateSettings state
genZoneChunk :: State -> Int -> Int -> BS.ByteString -> [(Int, Int)] -> [[(Int, Int)]] -> [[(Int, Int)]] -> Int -> ZoneChunk
genZoneChunk state x y zc0 conts seeds rands nconts = ZoneChunk { gbs = zgsr
                                                                , cbs = zcsr
                                                                , ebs = BS.empty
                                                                }
  where zgsr     = edgeZoneGrid zonew zoneh zcsr
        zgs0     = initZoneGrid zonew zoneh zcsr
        zcsr     = initZoneCont state x y
        zonew    = settingZoneW settings
        zoneh    = settingZoneH settings
        settings = stateSettings state
genZoneChunk state x y zc0 conts seeds rands nconts = ZoneChunk { gbs = zgsr
                                                                , cbs = zcsr
                                                                , ebs = BS.empty
                                                                }
  where zgsr     = edgeZoneGrid zonew zoneh zcsr
        zgs0     = initZoneGrid zonew zoneh zcsr
        zcsr     = initZoneCont state x y
        zonew    = settingZoneW settings
        zoneh    = settingZoneH settings
        settings = stateSettings state