anchor.diff:              let store3 = stores.[comp3Name] :?> 'c3 Store
               let mutable i = 0
               while i < store.Length do
  -                world <- statement.Invoke (&store.[i], &store2.[i], &store3.[i], world)
  +                state <- statement.Invoke (&store.[i], &store2.[i], &store3.[i], state)
                   i <- inc i
  -        world
  +        state
   
       interface 'w Query with
           member this.CheckCompatibility system = this.CheckCompatibility system
  
positive.code: 
      member this.RegisterComponents (comp : 'c) (comp2 : 'c2) entityId world =
          this.RegisterNamedComponents typeof<'c>.Name comp typeof<'c2>.Name comp2 entityId world
  
      member this.Iterate (statement : Statement<'c, 'c2, 's>) state =
          let mutable state = state
  
negative.code:     member this.RegisterComponents (comp : 'c) (comp2 : 'c2) (comp3 : 'c3) entityId world =
          this.RegisterNamedComponents typeof<'c>.Name comp typeof<'c2>.Name comp2 typeof<'c3>.Name comp3 entityId world
  
      member this.UnregisterNamedComponents compName comp2Name comp3Name entityId world =
          let world = ecs.UnregisterNamedComponent compName entityId world
          let world = ecs.UnregisterNamedComponent comp2Name entityId world
          let world = ecs.UnregisterNamedComponent comp3Name entityId world
          world
  
      member this.UnregisterComponents entityId world =
          this.UnregisterNamedComponents typeof<'c>.Name typeof<'c2>.Name typeof<'c3>.Name entityId world
  
      member this.Iterate (statement : Statement<'c, 'c2, 'c3, 's>) state =
          let mutable state = state
          for systemEntry in systems do
              let system = systemEntry.Value
              let stores = system.Stores
  