anchor.diff:              let world = this.Publish EcsEvents.Unregistering eventData world
               archetype.Unregister archetypeSlot.ArchetypeIndex
               archetypeSlots.Remove entityId |> ignore<bool>
  -            let archetypeId =
  -                { ComponentNames = archetype.Id.ComponentNames
  -                  Terms = Dictionary<_, _> archetype.Id.Terms }
  +            let archetypeId = { Terms = Dictionary<_, _> archetype.Id.Terms }
               archetypeId.Terms.Remove termName |> ignore<bool>
  -            if archetypeId.ComponentNames.Count > 0 || archetypeId.Terms.Count > 0 then
  +            if archetypeId.Terms.Count > 0 then
                   let archetypeIndex = archetype.Register comps
                   archetypeSlots.Add (entityId, { ArchetypeIndex = archetypeIndex; Archetype = archetype })
                   world
  
positive.code:                 let store = Activator.CreateInstance (storeType, name) :?> Store
                  stores.Add (name, store)
              | _ -> ()
                  
  
      member this.Id = id
      member this.Stores = stores
  
negative.code:             archetype.Unregister archetypeSlot.ArchetypeIndex
              archetypeSlots.Remove entityId |> ignore<bool>
              comps.Add (compName, comp)
              let archetypeId = { Terms = Dictionary<_, _> archetype.Id.Terms }
              archetypeId.Terms.Add ("@" + compName, Component (compName, typeof<'c>))
              let world =
                  match archetypes.TryGetValue archetypeId with
                  | (true, archetype) ->
  