anchor.diff:                          Content.button Gen.name
                              [Entity.PositionLocal == v2 24.0f 15.0f; Entity.ElevationLocal == 1.0f; Entity.Size == v2 72.0f 72.0f
                               Entity.Text == "<"
  +                            Entity.VisibleLocal <== field --> fun field -> Content.pageItems 8 field |> a__
                               Entity.UpImage == Assets.Gui.ButtonSmallUpImage
                               Entity.DownImage == Assets.Gui.ButtonSmallDownImage
                               Entity.ClickEvent ==> msg ShopPageUp]
                           Content.button Gen.name
                              [Entity.PositionLocal == v2 804.0f 15.0f; Entity.ElevationLocal == 1.0f; Entity.Size == v2 72.0f 72.0f
                               Entity.Text == ">"
  +                            Entity.VisibleLocal <== field --> fun field -> Content.pageItems 8 field |> _b_
                               Entity.UpImage == Assets.Gui.ButtonSmallUpImage
                               Entity.DownImage == Assets.Gui.ButtonSmallDownImage
                               Entity.ClickEvent ==> msg ShopPageDown]
  
positive.code: 
          let items (position : Vector2) elevation rows columns field fieldMsg =
              Content.entities field
                  (fun (field : Field) _ ->
                      match field.Menu.MenuState with
                      | MenuItem menu -> pageItems rows menu.ItemPage false true field.Inventory.Items
                      | _ ->
                          match field.ShopOpt with
                          | Some shop ->
                              match shop.ShopState with
                              | ShopBuying ->
                                  match Map.tryFind shop.ShopType Data.Value.Shops with
                                  | Some shopData -> pageItems rows shop.ShopPage false false (Map.ofListBy (flip Pair.make 1) shopData.ShopItems)
                                  | None -> Map.empty
                              | ShopSelling -> pageItems rows shop.ShopPage true true field.Inventory.Items
                          | None -> Map.empty)
                  (fun i selectionLens _ ->
                      let x = if i < columns then position.X else position.X + 375.0f
                      let y = position.Y - single (i % columns) * 81.0f
  
negative.code:                        [Content.sidebar (v2 24.0f 417.0f) 1.0f field
                          Content.items (v2 138.0f 417.0f) 1.0f 10 5 field MenuItemSelect
                          Content.text Gen.name
                             [Entity.PositionLocal == v2 399.0f 24.0f; Entity.ElevationLocal == 1.0f
                              Entity.Justification == Justified (JustifyCenter, JustifyMiddle)
                              Entity.Text <== field --> (fun field -> string field.Inventory.Gold + "G")]
                          Content.button Gen.name
                            [Entity.PositionLocal == v2 138.0f 12.0f; Entity.ElevationLocal == 1.0f; Entity.Size == v2 72.0f 72.0f
                             Entity.Text == "<"
                             Entity.VisibleLocal <== field --> fun field -> Content.pageItems 10 field |> a__
                             Entity.UpImage == Assets.Gui.ButtonSmallUpImage
                             Entity.DownImage == Assets.Gui.ButtonSmallDownImage
                             Entity.ClickEvent ==> msg MenuItemsPageUp]
                          Content.button Gen.name
                            [Entity.PositionLocal == v2 777.0f 12.0f; Entity.ElevationLocal == 1.0f; Entity.Size == v2 72.0f 72.0f
                             Entity.Text == ">"
                             Entity.VisibleLocal <== field --> fun field -> Content.pageItems 10 field |> _b_
                             Entity.UpImage == Assets.Gui.ButtonSmallUpImage
                             Entity.DownImage == Assets.Gui.ButtonSmallDownImage
                             Entity.ClickEvent ==> msg MenuInventoryPageDown]]
  