anchor.diff:          Gameplay.updateChessboardBy Chessboard.truncatePlayerPath () () gameplay
       
       static member addHealth coordinates gameplay =
  -        Gameplay.updateChessboardBy Chessboard.updateCoordinatesValue (Some Health) coordinates gameplay
  +        Gameplay.updateChessboardBy Chessboard.updateCoordinatesValue FieldSpace.addHealth coordinates gameplay
   
       static member removeHealth coordinates gameplay =
  -        Gameplay.updateChessboardBy Chessboard.updateCoordinatesValue None coordinates gameplay
  +        Gameplay.updateChessboardBy Chessboard.updateCoordinatesValue FieldSpace.removePickup coordinates gameplay
       
       static member clearPickups gameplay =
           Gameplay.updateChessboardBy Chessboard.clearPickups () () gameplay
  
positive.code:         Map.exists (fun k _ -> k = index) chessboard.CharacterCoordinates
      
      static member pickupAtCoordinates coordinates chessboard =
          match chessboard.PassableCoordinates.[coordinates] with
          | Some _ -> true
          | None -> false
      
      static member updateCoordinatesValue newValue coordinates chessboard =
          let passableCoordinates = Map.add coordinates newValue chessboard.PassableCoordinates
          Chessboard.updatePassableCoordinates (constant passableCoordinates) chessboard
      
      static member clearPickups _ _ chessboard =
          let passableCoordinates = Map.map (fun _ _ -> None) chessboard.PassableCoordinates
          Chessboard.updatePassableCoordinates (constant passableCoordinates) chessboard
      
      // used for both adding and relocating
  
negative.code:         Chessboard.addMove PlayerIndex move chessboard
      
      static member setPassableCoordinates _ fieldMap chessboard =
          let passableCoordinates = fieldMap.FieldTiles |> Map.filter (fun _ fieldTile -> fieldTile.TileType = Passable) |> Map.map (fun _ _ -> FieldSpace.empty)
          Chessboard.updatePassableCoordinates (constant passableCoordinates) chessboard                    
  
  type [<ReferenceEquality; NoComparison>] Gameplay =
  