anchor.diff:      static member updatePropOpt updater fieldSpace =
           { fieldSpace with PropOpt = updater fieldSpace.PropOpt }
       
  -    static member updatePickupItemOpt updater fieldSpace =
  -        { fieldSpace with PickupItemOpt = updater fieldSpace.PickupItemOpt }
  +    static member updatePickupOpt updater fieldSpace =
  +        { fieldSpace with PickupOpt = updater fieldSpace.PickupOpt }
       
       static member updateCharacterInternal updater characterOpt =
           match characterOpt with
  
positive.code:             | Some prop -> Some (OccupyingProp prop)
              | None -> None
      
      member this.GetPickupItem =
          match this.PickupItemOpt with Some pickup -> pickup | None -> failwithumf ()
      
      member this.ContainsCharacter =
          match this.CharacterOpt with Some _ -> true | None -> false
  
negative.code:         FieldSpace.updatePropOpt (constant None) fieldSpace
      
      static member addPickup pickup fieldSpace =
          FieldSpace.updatePickupOpt (constant (Some pickup)) fieldSpace
      
      static member removePickup fieldSpace =
          FieldSpace.updatePickupOpt (constant None) fieldSpace
      
      static member empty =
          { CharacterOpt = None
            PropOpt = None
            PickupOpt = None }
  
  type [<ReferenceEquality; NoComparison>] Chessboard =
      { FieldSpaces : Map<Vector2i, FieldSpace> }
  