anchor.diff:      member this.UnregisterComponent<'c, 's when 'c : struct and 'c :> 'c Component> (entity : EcsEntity) (state : 's) =
           this.UnregisterComponentPlus<'c, 's> typeof<'c>.Name entity state
   
  -    member this.RegisterEntity publishEvents comps archetypeId state =
  +    member this.RegisterEntity elideEvents comps archetypeId state =
           let archetype =
               match archetypes.TryGetValue archetypeId with
               | (true, archetype) -> archetype
  
positive.code:             archetype.Unregister archetypeSlot.ArchetypeIndex
              state
          | (false, _) -> state
  
      member this.RegisterQuery (query : Query) =
          for archetypeEntry in archetypes do
  
negative.code:         let archetypeIndex = archetype.Register comps
          archetypeSlots.Add (entity.EntityId, { ArchetypeIndex = archetypeIndex; Archetype = archetype })
          let mutable state = state
          if not elideEvents then
              for compName in archetype.Stores.Keys do
                  let eventData = { EcsEntity = entity; ComponentName = compName }
                  state <- this.Publish<EcsRegistrationData, obj> (EcsEvents.Unregistering entity compName) eventData (state :> obj) :?> 's
          (entity, state)
  
      member this.UnregisterEntity (entity : EcsEntity) (state : 's) =
          match archetypeSlots.TryGetValue entity.EntityId with
  