anchor.diff:          ListTree.findAll (fun system -> system.Name = nodeIdStr) |>
           Seq.iter (fun system ->
               system.GetEntitiesCorrelated () |>
  -            Seq.map (fun correlated -> changes.Add struct (correlated, false); correlated) |>
  +            Seq.map (fun correlated -> changes.Add (HierarchyRemove (nodeId, correlated)); correlated) |>
               Seq.iter (fun correlated -> system.UnregisterCorrelated correlated |> ignore<bool>))
           systemDict.Remove nodeId
   
  
positive.code: 
          // track registration
          if registered then
              changes.Add struct (entityId, true)
  
          // register correlation
          if registered && not isolated then
  
negative.code: 
      member this.PopHierarchyChanges () =
          let popped = changes
          changes <- List<HierarchyChange> ()
          popped
  
      member this.IndexNode nodeId =
  