anchor.diff:                               Slotitem.UpdateItems()
               lock ships (fun () -> ships.Add(getNumber data.["api_id"], getObject data.["api_ship"]))
               Ship.UpdateShips()
  +            Slotitem.UpdateItems()
               kdock data.["api_kdock"]
           | "/kcsapi/api_req_kousyou/destroyship" ->
               oSession.GetRequestBodyAsString() |> parseQuery |> get "api_ship_id" |> float |> destroyship
  
positive.code:     slotitemGrid.ColumnHeadersDefaultCellStyle.WrapMode <- DataGridViewTriState.False
      let left = DataGridViewCellStyle(Alignment = DataGridViewContentAlignment.MiddleLeft)
      slotitemGrid.Columns.AddRange [|
          new DataGridViewTextBoxColumn(ReadOnly = true, Width =  40, DataPropertyName = "Index",        HeaderText = "New")                             :> DataGridViewColumn
          new DataGridViewTextBoxColumn(ReadOnly = true, Width =  30, DataPropertyName = "ItemId",       HeaderText = "ID")                              :> DataGridViewColumn
          new DataGridViewTextBoxColumn(ReadOnly = true, Width =  90, DataPropertyName = "EquipType",    HeaderText = "種別", DefaultCellStyle = left)   :> DataGridViewColumn
          new DataGridViewTextBoxColumn(ReadOnly = true, Width = 150, DataPropertyName = "Name",         HeaderText = "装備名", DefaultCellStyle = left) :> DataGridViewColumn
      |]
      let bindingList = Slotitem.GetBindingList form
      slotitemGrid.DataSource <- bindingList
  
negative.code:         let basic data =
              let data = getObject data
              maxCount <- getNumber data.["api_max_chara"] |> int, (getNumber data.["api_max_slotitem"] |> int) + 3
              hqLevel <- getNumber data.["api_level"] |> int
          let ndock data =
              let docks = getArray data |> Array.map (fun dock -> let dock = getObject dock
                                                                  toDateTime dock.["api_complete_time"] |> Option.map (fun dateTime -> dateTime, getNumber dock.["api_ship_id"]))
  