anchor.diff:                  let tile = Map.find coordinates originalMap
                   if  tile <> PathTile &&
                       MapBounds.isPointInBounds coordinates buildBoundsC then
  -                    let upCoordinates = coordinates + v2iUp
  -                    let rightCoordinates = coordinates + v2iRight
  -                    let downCoordinates = coordinates + v2iDown
  -                    let leftCoordinates = coordinates + v2iLeft
  -                    if  MapBounds.isPointInBounds upCoordinates buildBoundsC && Map.find upCoordinates originalMap = TreeTile ||
  -                        MapBounds.isPointInBounds rightCoordinates buildBoundsC && Map.find rightCoordinates originalMap = TreeTile ||
  -                        MapBounds.isPointInBounds downCoordinates buildBoundsC && Map.find downCoordinates originalMap = TreeTile ||
  -                        MapBounds.isPointInBounds leftCoordinates buildBoundsC && Map.find leftCoordinates originalMap = TreeTile then
  +                    if anAdjacentTileIs coordinates TreeTile buildBoundsC originalMap then 
                           let (n, rand) = Rand.nextIntUnder 3 rand
                           if n = 0 then (Map.add coordinates TreeTile generatedMap, rand)
                           else (generatedMap, Rand.advance rand)
  
positive.code:             Seq.fold
                  (fun (generatedMap, rand) coordinates ->
                      let (n, rand) = Rand.nextIntUnder 1 rand
                      let upCoordinates = coordinates + v2iUp
                      let rightCoordinates = coordinates + v2iRight
                      let downCoordinates = coordinates + v2iDown
                      let leftCoordinates = coordinates + v2iLeft
                      if  MapBounds.isPointInBounds upCoordinates buildBoundsC && Map.find upCoordinates originalMap = WaterTile ||
                          MapBounds.isPointInBounds rightCoordinates buildBoundsC && Map.find rightCoordinates originalMap = WaterTile ||
                          MapBounds.isPointInBounds downCoordinates buildBoundsC && Map.find downCoordinates originalMap = WaterTile ||
                          MapBounds.isPointInBounds leftCoordinates buildBoundsC && Map.find leftCoordinates originalMap = WaterTile then
                          if n = 0 && Map.find coordinates generatedMap <> PathTile
                          then (Map.add coordinates WaterTile generatedMap, rand)
                          else (generatedMap, rand)
  
negative.code:             Seq.fold
                  (fun (generatedMap, rand) coordinates ->
                      let (n, rand) = Rand.nextIntUnder 2 rand
                      if anAdjacentTileIs coordinates WaterTile buildBoundsC generatedMap then
                          if n = 0 && Map.find coordinates generatedMap <> PathTile
                          then (Map.add coordinates WaterTile generatedMap, rand)
                          else (generatedMap, rand)
  