anchor.diff:          applyPropertyEditor form
   
       let private handleFormTreeViewNodeSelect (form : GaiaForm) (_ : EventArgs) =
  -        ignore ^ WorldChangers.Add (fun world ->
  +        addWorldChanger ^ fun world ->
               if isNotNull form.treeView.SelectedNode then
                   let entity = Entity.proxy ^ ftoa ^ Name.make form.treeView.SelectedNode.Name
                   match Address.getNames entity.EntityAddress with
  
positive.code:                 entityTds.RefWorld := world // must be set for property grid
                  form.propertyGrid.Refresh ()
                  world
              | _ -> Log.trace ^ "Invalid quick size operation (likely a code issue in Gaia)."; world)
  
      let private handleFormResetCamera (_ : GaiaForm) (_ : EventArgs) =
          ignore ^ WorldChangers.Add (fun world ->
              World.updateCamera (fun camera -> { camera with EyeCenter = Vector2.Zero }) world)
  
      let private handleFormReloadAssets (form : GaiaForm) (_ : EventArgs) =
          ignore ^ WorldChangers.Add (fun world ->
              match tryReloadAssets form world with
              | Right (assetGraph, world) ->
                  let assetGraphKeywords0 = match typeof<AssetGraph>.GetCustomAttribute<SyntaxAttribute> true with null -> "" | syntax -> syntax.Keywords0
  
negative.code:             with exn ->
                  let world = World.choose world
                  ignore ^ MessageBox.Show (scstring exn, "Could not create Gaia form", MessageBoxButtons.OK, MessageBoxIcon.Error)
                  world
  
      let private handleFormDelete (form : GaiaForm) (_ : EventArgs) =
          addWorldChanger ^ fun world ->
              let world = pushPastWorld world world
              match form.propertyGrid.SelectedObject with
              | :? EntityTypeDescriptorSource as entityTds ->
                  let world = World.destroyEntity entityTds.DescribedEntity world
                  deselectEntity form world
                  world
              | _ -> world
  
      let private handleFormNew (form : GaiaForm) (_ : EventArgs) =
          use groupNameEntryForm = new NameEntryForm ()
          groupNameEntryForm.StartPosition <- FormStartPosition.CenterParent
          groupNameEntryForm.okButton.Click.Add ^ fun _ ->
              addWorldChanger ^ fun world ->
                  let world = pushPastWorld world world
                  let groupName = groupNameEntryForm.nameTextBox.Text
                  try if groupName.Length = 0 then failwith "Group name cannot be empty in Gaia due to WinForms limitations."
  