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:             let eventData = { EntityRef = entityRef; ContextName = compName }
              this.Publish<EcsRegistrationData, obj> (EcsEvents.Register compName) eventData (state :> obj) :?> 's
          | (false, _) ->
              let archetypeId =
                  ArchetypeId.singleton
                      (Constants.Ecs.IntraComponentPrefix + compName)
                      (Intra (compName, typeof<'c>, AlwaysEqual null))
              let comps = Dictionary.singleton HashIdentity.Structural compName (comp :> obj)
              let state =
                  match archetypes.TryGetValue archetypeId with
                  | (true, archetype) ->
                      let archetypeIndex = archetype.Register comps
                      archetypeSlots.Add (entityRef.EntityId, { ArchetypeIndex = archetypeIndex; Archetype = archetype })
                      state
                  | (false, _) ->
                      let archetype = createArchetype archetypeId
                      let archetypeIndex = archetype.Register comps
                      archetypeSlots.Add (entityRef.EntityId, { ArchetypeIndex = archetypeIndex; Archetype = archetype })
                      state
              let eventData = { EntityRef = entityRef; ContextName = compName }
              this.Publish<EcsRegistrationData, obj> (EcsEvents.Register compName) eventData (state :> obj) :?> 's
  
  
negative.code:     static member zero = Subquery.dict []
  
  /// Identifies an archetype.
  and ArchetypeId (terms) =
  
      let hashCode = Dictionary.hash terms // OPTIMIZATION: hash is cached for speed
  
  