anchor.diff:              let eventData = { EntityRef = entityRef; ContextName = termName }
               this.Publish<EcsRegistrationData, obj> (EcsEvents.Register termName) eventData (state :> obj) :?> 's
           | (false, _) ->
  -            let archetypeId = ArchetypeId (Dictionary.singleton HashIdentity.Structural termName term)
  +            let archetypeId = ArchetypeId.singleton termName term
               let comps = dictPlus HashIdentity.Structural []
               match term with Extra (compName, _, comp) -> comps.Add (compName, comp.Value) | _ -> ()
               let state =
  
positive.code:         queries.Add query
          query
  
      member this.RegisterEntity archetypeId terms =
          let archetype =
              match archetypes.TryGetValue archetypeId with
              | (true, archetype) -> archetype
              | (false, _) -> createArchetype archetypeId
          let entityRef = this.EntityRef
          let archetypeIndex = archetype.Register terms
          archetypeSlots.Add (entityRef.EntityId, { ArchetypeIndex = archetypeIndex; Archetype = archetype })
          entityRef
  
      member this.ReadComponents count archetypeId stream =
          let archetype =
  
negative.code:             archetype.Unregister archetypeSlot.ArchetypeIndex
              archetypeSlots.Remove entityRef.EntityId |> ignore<bool>
              comps.Add (compName, comp)
              let archetypeId = archetype.Id.AddTerm (Constants.Ecs.IntraComponentPrefix + compName) (Intra (compName, typeof<'c>, AlwaysEqual null))
              let state =
                  match archetypes.TryGetValue archetypeId with
                  | (true, archetype) ->
  