anchor.diff:          FieldSpace.updatePickupItemOpt (constant None) fieldSpace
       
       static member empty =
  -        { PickupItemOpt = None }
  +        { CharacterOpt = None
  +          PickupItemOpt = None }
   
   type [<ReferenceEquality; NoComparison>] Chessboard =
       { PassableCoordinates : Map<Vector2i, FieldSpace>
  
positive.code:         Gameplay.syncLists gameplay
      
      static member relocateCharacter index coordinates gameplay =
          Gameplay.updateChessboardBy Chessboard.placeCharacter index coordinates gameplay
      
      static member addMove index (move : Move) gameplay =
          Gameplay.updateChessboardBy Chessboard.addMove index move gameplay
  
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
  