anchor.diff:                      | (false, _) -> this.Correlations.Add (entityId, List [systemName])
               | _ -> failwith ("Could not find expected system '" + systemName + "'.")
   
  -type SystemHierarchical<'c, 'w when 'c : struct and 'c :> 'c Component and 'w :> Freezable> (compacting, reserve, name) =
  +type SystemHierarchical<'c, 'w when 'c : struct and 'c :> 'c Component and 'w :> Freezable> (ordered, reserve, name) =
       inherit System<'w> (name)
   
       let systemTree = ListTree.makeEmpty<SystemCorrelated<'c, 'w>> ()
       let systemDict = dictPlus [] : Dictionary<Guid, SystemCorrelated<'c, 'w>>
   
  -    new (compacting, reserve) = SystemHierarchical (compacting, reserve, typeof<'c>.Name)
  +    new (ordered, reserve) = SystemHierarchical (ordered, reserve, typeof<'c>.Name)
       new (reserve) = SystemHierarchical (false, reserve, typeof<'c>.Name)
       new () = SystemHierarchical (false, Constants.Ecs.ArrayReserve, typeof<'c>.Name)
   
  
positive.code:             if index <> freeIndex then
                  components.[index].RefCount <- dec components.[index].RefCount
                  if components.[index].RefCount = 0 then
                      if compacting
                      then freeList.Add index |> ignore<bool>
                      else preList.Add index |> ignore<bool>
              else freeIndex <- dec freeIndex
              correlations.Remove entityId |> ignore<bool>
              correlationsBack.Remove index |> ignore<bool>
              if  compacting then
                  comp.Disjunction junctions entityId ecs
                  if  components.Length < freeList.Count * 2 &&
                      components.Length > Constants.Ecs.ArrayReserve then
                      this.Compact ()
              true
          | (false, _) -> false
  
  
negative.code:     let correlations = dictPlus [] : Dictionary<Guid, int>
      let correlationsBack = dictPlus [] : Dictionary<int, Guid>
  
      new (ordered, reserve) = SystemCorrelated (ordered, reserve, typeof<'c>.Name)
      new (reserve) = SystemCorrelated (false, reserve, typeof<'c>.Name)
      new () = SystemCorrelated (false, Constants.Ecs.ArrayReserve, typeof<'c>.Name)
  
  