anchor.diff:          Map.add coordinates (updater passableCoordinates.[coordinates]) passableCoordinates
   
       static member updateByPredicateInternal predicate updater (passableCoordinates : Map<Vector2i, FieldSpace>) =
  -        Map.map (fun _ v -> if predicate v then updater v else v ) passableCoordinates
  +        Map.map (fun _ v -> if predicate v then updater v else v) passableCoordinates
       
       static member updateByCoordinates coordinates updater chessboard =
           Chessboard.updatePassableCoordinates (Chessboard.updateByCoordinatesInternal coordinates updater) chessboard
  
positive.code:     member this.ContainsCharacter =
          match this.CharacterOpt with Some _ -> true | None -> false
  
      member this.ContainsPickup =
          match this.PickupItemOpt with Some _ -> true | None -> false
      
  
negative.code:     
      static member clearPickups _ _ chessboard =
          Chessboard.updateByPredicate FieldSpace.containsPickup FieldSpace.removePickup chessboard
      
      static member getCharacterCoordinates index chessboard =
          Map.findKey (fun _ v -> FieldSpace.containsSpecifiedCharacter index v) chessboard.PassableCoordinates
      
      // used for both adding and relocating
      static member placeCharacter index coordinates (chessboard : Chessboard) =
  