anchor.diff:          match correlations.TryGetValue entityId with
           | (true, systemNames) -> systemNames
           | (false, _) -> emptySystemNames
  +
  +    member this.IndexEntitiesChanged systemNames =
  +        correlationsChanged |>
  +        Seq.filter (fun kvp -> kvp.Value.IsSubsetOf systemNames) |>
  +        Seq.map (fun kvp -> kvp.Key)
   
       member this.IndexEntities systemNames =
           correlations |>
  
positive.code:             callback evt system
          boxableCallback :> obj
  
      member private this.Correlations 
          with get () = correlations
  
      member this.SystemGlobal
          with get () = systemGlobal
  
negative.code:             match this.TryIndexSystem<'c, SystemHierarchical<'c, 'w>> () with
              | Some system ->
                  let _ = system.RegisterHierarchical comp nodeId entityId
                  match this.CorrelationsInternal.TryGetValue entityId with
                  | (true, correlation) ->
                      correlation.Add system.Name |> ignore<bool>
                      this.CorrelationsChangedInternal.[entityId] <- correlation
                  | (false, _) ->
                      this.CorrelationsInternal.Add (entityId, HashSet.singleton StringComparer.Ordinal system.Name)
                      this.CorrelationsChangedInternal.[entityId] <- this.EmptyCorrelation
              | None -> failwith ("Could not find expected system '" + Unchecked.defaultof<'c>.TypeName + "'.")
  
          member this.UnregisterHierarchical<'c when 'c : struct and 'c :> 'c Component> nodeId entityId =
              match this.TryIndexSystem<'c, SystemHierarchical<'c, 'w>> () with
              | Some system ->
                  if system.UnregisterHierarchical nodeId entityId this then
                      match this.CorrelationsInternal.TryGetValue entityId with
                      | (true, correlation) ->
                          correlation.Remove system.Name |> ignore<bool>
                          this.CorrelationsChangedInternal.[entityId] <- correlation
                      | (false, _) ->
                          this.CorrelationsChangedInternal.[entityId] <- this.EmptyCorrelation
                      true
                  else false
              | _ -> failwith ("Could not find expected system '" + Unchecked.defaultof<'c>.TypeName + "'.")
  