anchor.diff:              just model
   
           static let interactShopkeep shopType (model : FieldModel) =
  -            let shopModel = { ShopType = shopType; ShopState = ShopSelling; ShopPage = 0; ShopConfirmModelOpt = None }
  +            let shopModel = { ShopType = shopType; ShopState = ShopBuying; ShopPage = 0; ShopConfirmModelOpt = None }
               let model = FieldModel.updateShopModelOpt (constant (Some shopModel)) model
               just model
   
  
positive.code:                      Entity.Visible <== model --> fun model -> Option.isSome model.ShopModelOpt
                       Entity.Enabled <== model --> fun model -> match model.ShopModelOpt with Some shopModel -> Option.isNone shopModel.ShopConfirmModelOpt | None -> true]
                      [Content.button Simulants.FieldShopBuy.Name
                          [Entity.PositionLocal == v2 12.0f 440.0f; Entity.DepthLocal == 2.0f; Entity.Text == "Buy"]
                       Content.button Simulants.FieldShopSell.Name
                          [Entity.PositionLocal == v2 320.0f 440.0f; Entity.DepthLocal == 2.0f; Entity.Text == "Sell"]
                       Content.button Simulants.FieldShopLeave.Name
                          [Entity.PositionLocal == v2 628.0f 440.0f; Entity.DepthLocal == 2.0f; Entity.Text == "Leave"
                           Entity.ClickEvent ==|> fun _ -> msg ShopLeave]
                       Content.text Gen.name
                          [Entity.PositionLocal == v2 12.0f 440.0f; Entity.DepthLocal == 1.0f; Entity.Text == "Buy..."; Entity.Justification == Justified (JustifyCenter, JustifyMiddle)]
                       Content.text Gen.name
                          [Entity.PositionLocal == v2 320.0f 440.0f; Entity.DepthLocal == 1.0f; Entity.Text == "Sell..."; Entity.Justification == Justified (JustifyCenter, JustifyMiddle)]
                       Content.text Simulants.FieldShopGold.Name
                          [Entity.PositionLocal == v2 316.0f 12.0f; Entity.DepthLocal == 1.0f; Entity.Text <== model --> (fun model -> string model.Inventory.Gold + "G"); Entity.Justification == Justified (JustifyCenter, JustifyMiddle)]
                       Content.button Simulants.FieldShopPageUp.Name
                          [Entity.PositionLocal == v2 16.0f 12.0f; Entity.DepthLocal == 1.0f; Entity.Text == "<"; Entity.Size == v2 48.0f 64.0f
                           Entity.ClickEvent ==> msg ShopPageUp]
                       Content.button Simulants.FieldShopPageDown.Name
                          [Entity.PositionLocal == v2 832.0f 12.0f; Entity.DepthLocal == 1.0f; Entity.Text == ">"; Entity.Size == v2 48.0f 64.0f
                           Entity.ClickEvent ==> msg ShopPageDown]
                       Content.entities model
                          (fun (model : FieldModel) -> (model.ShopModelOpt, model.Inventory))
                          (fun (shopModelOpt, inventory : Inventory) _ ->
  
negative.code:                                 Inventory.indexItems |>
                                  Seq.choose
                                      (function
                                       | (_, Equipment _ as item) | (_, Consumable _ as item) -> Some item
                                       | (_, KeyItem _) | (_, Stash _) -> None) |>
                                  Seq.chunkBySize 10 |>
                                  Seq.trySkip shopModel.ShopPage |>
                                  Seq.map List.ofArray |>
  