anchor.diff:              World.choose { world with EntityStates = entityStates }
   
           static member private addEntityState entityState (entity : Entity) world =
  +            World.synchronizeEntityState entityState entity world
               World.entityStateAdder entityState entity world
   
           static member private removeEntityState (entity : Entity) world =
  
positive.code:                 let transform = Math.snapTransform positionSnap rotationSnap transform
                  let entityState = EntityState.setTransformByRef (&transform, entityState)
                  let entity = Entity (group.GroupAddress <-- rtoa<Entity> names)
                  World.synchronizeEntityState entityState entity world
                  let world = World.addEntity false entityState entity world
                  (Some entity, world)
              | None -> (None, world)
  
negative.code:             let world = World.destroyEntityImmediate entity world
              let (id, names) = Gen.idAndNamesIf namesOpt
              let entityState = { entityState with Id = id; Names = names }
              let entity = Entity (group.GroupAddress <-- rtoa<Entity> names)
              let world = World.addEntity false entityState entity world
              (entity, world)
  
          /// Reassign an entity's identity and / or group.
          /// TODO: see if we can just use renameEntity instead.
  