anchor.diff:                  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)
  
positive.code:             | null -> world
              | _ ->
                  let entityState = { entityStateOpt with Id = Gen.id; Names = destination.Names }
                  World.addEntity false entityState destination world
                  
          /// Rename an entity's identity and / or group. Note that since this destroys the renamed entity
  
negative.code:                     let world = World.choose { world with EntityHierarchy = UMap.add newParent children world.EntityHierarchy }
                      let world = if World.getEntityExists newParent world then World.setEntityIsParent true newParent world |> snd' else world
                      world
              | None -> world
  
          static member internal removeEntityFromHierarchy parentOpt entity world =
              match Option.map (resolve entity) parentOpt with
              | Some oldParent ->
                  match world.EntityHierarchy.TryGetValue oldParent with
                  | (true, children) ->
                      let children = USet.remove entity children
  