anchor.diff:      let systemsUnordered = dictPlus<string, 'w System> StringComparer.Ordinal []
       let systemsOrdered = List<string * 'w System> ()
       let correlations = dictPlus<Guid, string HashSet> HashIdentity.Structural []
  -    let mutable correlationsChanged = dictPlus<Guid, string HashSet> HashIdentity.Structural []
  +    let mutable correlationChanges = dictPlus<Guid, string HashSet> HashIdentity.Structural []
       let emptySystemNames = hashSetPlus<string> StringComparer.Ordinal [] // the empty systems dict to elide allocation on IndexSystemNames
       let emptyCorrelation = hashSetPlus<string> StringComparer.Ordinal [] // the empty correlation to elide allocation on IndexEntitiesChanged
   
  
positive.code:     member internal this.Correlations
          with get () = correlations
  
      member internal this.CorrelationsChanged
          with get () = correlationsChanged
  
      member this.SystemGlobal
          with get () = systemGlobal
  
negative.code:             match ecs.Correlations.TryGetValue entityId with
              | (true, correlation) ->
                  correlation.Add this.Name |> ignore<bool>
                  ecs.CorrelationChanges.[entityId] <- correlation
              | (false, _) ->
                  ecs.Correlations.Add (entityId, HashSet.singleton StringComparer.Ordinal this.Name)
                  ecs.CorrelationChanges.[entityId] <- ecs.EmptyCorrelation
  
              // make component ref
              ComponentRef.make index correlateds correlatedsBuffered
  