anchor.diff:          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)
  +
  +    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> Unchecked.defaultof<'c3> Unchecked.defaultof<'c4> Unchecked.defaultof<'c5> Unchecked.defaultof<'c6> Unchecked.defaultof<'c7> entityId world
  +
  +    member this.TryAllocateCorrelated comp comp2 comp3 comp4 comp5 comp6 comp7 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' comp3' comp4' comp5' comp6' comp7' world ->
  +                    comp' <- comp
  +                    comp2' <- comp2
  +                    comp3' <- comp3
  +                    comp4' <- comp4
  +                    comp5' <- comp5
  +                    comp6' <- comp6
  +                    comp7' <- comp7
  +                    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 comp3 comp4 comp5 comp6 comp7 world ->
  +                    comp <- Unchecked.defaultof<'c>
  +                    comp2 <- Unchecked.defaultof<'c2>
  +                    comp3 <- Unchecked.defaultof<'c3>
  +                    comp4 <- Unchecked.defaultof<'c4>
  +                    comp5 <- Unchecked.defaultof<'c5>
  +                    comp6 <- Unchecked.defaultof<'c6>
  +                    comp7 <- Unchecked.defaultof<'c7>
  +                    world))
  +                    world
  +            struct (true, world)
  +        else struct (false, world)
       
       interface Query<'w> with
   
  
positive.code: 
      member this.UnregisterHierarchical parentIdOpt world =
          ecs.UnregisterHierarchical<'c> parentIdOpt world
      
      interface Query<'w> with
  
          override this.Correlation = correlation
  
negative.code:         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
  
  