anchor.diff:          Gameplay.syncLists gameplay
       
       static member relocateCharacter index coordinates gameplay =
  -        Gameplay.updateChessboardBy Chessboard.placeCharacter index coordinates gameplay
  +        Gameplay.updateChessboardBy Chessboard.relocateCharacter index coordinates gameplay
       
       static member addMove index (move : Move) gameplay =
           Gameplay.updateChessboardBy Chessboard.addMove index move gameplay
  
positive.code:         | _ -> this
  
  type FieldSpace =
      { PickupItemOpt : PickupType Option }
  
      member this.ContainsPickup =
          match this.PickupItemOpt with Some _ -> true | None -> false
      
      static member updatePickupItemOpt updater fieldSpace =
          { fieldSpace with PickupItemOpt = updater fieldSpace.PickupItemOpt }
      
      static member addHealth fieldSpace =
          FieldSpace.updatePickupItemOpt (constant (Some Health)) fieldSpace
      
  
negative.code:     static member pickupAtCoordinates coordinates chessboard =
          chessboard.PassableCoordinates.[coordinates].ContainsPickup
      
      static member updateCoordinatesValueInternal updater coordinates (passableCoordinates : Map<Vector2i, FieldSpace>) =
          Map.add coordinates (updater passableCoordinates.[coordinates]) passableCoordinates
  
      static member updateCoordinatesValue updater coordinates chessboard =
          Chessboard.updatePassableCoordinates (Chessboard.updateCoordinatesValueInternal updater coordinates) chessboard
      
      static member addHealth _ coordinates chessboard =
          Chessboard.updateCoordinatesValue FieldSpace.addHealth coordinates chessboard
  
      static member removePickup _ coordinates chessboard =
          Chessboard.updateCoordinatesValue FieldSpace.removePickup coordinates chessboard
      
      static member clearPickups _ _ chessboard =
          let passableCoordinates = Map.map (fun _ v -> FieldSpace.removePickup v) chessboard.PassableCoordinates
  