anchor.diff:          let struct (unregistered, world) = ecs.UnregisterHierarchical<'c> parentIdOpt world
           let struct (unregistered2, world) = ecs.UnregisterCorrelated<'c2> entityId world
           struct (unregistered || unregistered2, world)
  +
  +    member this.PreallocateCorrelated count world =
  +        let mutable world = world
  +        for _ in 0 .. count - 1 do
  +            let entityId = Gen.id64
  +            let entityIdInv = UInt64.MaxValue - entityId
  +            unallocated.Add entityIdInv |> ignore
  +            world <- this.RegisterCorrelated true Unchecked.defaultof<'c> Unchecked.defaultof<'c2> entityId world
  +
  +    member this.TryAllocateCorrelated comp comp2 world =
  +        if Seq.notEmpty unallocated then
  +            let entityIdInv = Seq.head unallocated
  +            unallocated.Remove entityIdInv |> ignore
  +            let entityId = UInt64.MaxValue - entityIdInv
  +            let world =
  +                this.Index entityId (new Statement<_, _, _> (fun comp' comp2' world ->
  +                    comp' <- comp
  +                    comp2' <- comp2
  +                    world))
  +                    world
  +            struct (entityId, world)
  +        else struct (0UL, world)
  +
  +    member this.TryDeallocateCorrelated entityId world =
  +        if allocated.Remove entityId then
  +            let entityIdInv = UInt64.MaxValue - entityId
  +            unallocated.Add entityIdInv |> ignore
  +            let world =
  +                this.Index entityId (new Statement<_, _, _> (fun comp comp2 world ->
  +                    comp <- Unchecked.defaultof<'c>
  +                    comp2 <- Unchecked.defaultof<'c2>
  +                    world))
  +                    world
  +            struct (true, world)
  +        else struct (false, world)
       
       interface Query<'w> with
   
  
positive.code:         let struct (unregistered6, world) = ecs.UnregisterCorrelated<'c6> entityId world
          let struct (unregistered7, world) = ecs.UnregisterCorrelated<'c7> entityId world
          struct (unregistered || unregistered2 || unregistered3 || unregistered4 || unregistered5 || unregistered6 || unregistered7, world)
      
      interface Query<'w> with
  
  
negative.code: 
      member this.System = system
  
      member this.Iterate (fn : Statement<'c, 's>) state =
          let array = system.Correlateds.Array
          let mutable world = state
  