anchor.diff:                      i <- inc i
               state
   
  -    member this.Iterate (compName, comp2Name, statement : Statement<'c, 'c2, 's>) =
  +    member this.Iterate (compName, comp2Name, statement : Statement<'c, 'c2, 's>) : 's -> 's =
           fun state ->
               let mutable state = state
               for archetypeEntry in archetypes do
  
positive.code:         'c7 : struct and 'c7 :> 'c7 Component and
          'c8 : struct and 'c8 :> 'c8 Component and
          'c9 : struct and 'c9 :> 'c9 Component>
          (statement : Statement<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 'c8, 'c9, 's>) =
          this.Iterate (typeof<'c>.Name, typeof<'c2>.Name, typeof<'c3>.Name, typeof<'c4>.Name, typeof<'c5>.Name, typeof<'c6>.Name, typeof<'c7>.Name, typeof<'c8>.Name, typeof<'c9>.Name, statement)
  
      member this.Index (compName, statement : Statement<'c, 's>, entityId, state) =
          let archetypeSlot = ecs.IndexArchetypeSlot entityId
          let stores = archetypeSlot.Archetype.Stores
          let store = stores.[compName] :?> 'c Store
          let i = archetypeSlot.ArchetypeIndex
          statement.Invoke (&store.[i], state)
  
      member this.Index (compName, comp2Name, statement : Statement<'c, 'c2, 's>, entityId, state) =
          let archetypeSlot = ecs.IndexArchetypeSlot entityId
          let stores = archetypeSlot.Archetype.Stores
          let store = stores.[compName] :?> 'c Store
          let store2 = stores.[comp2Name] :?> 'c2 Store
          let i = archetypeSlot.ArchetypeIndex
          statement.Invoke (&store.[i], &store2.[i], state)
  
      member this.Index (compName, comp2Name, comp3Name, statement : Statement<'c, 'c2, 'c3, 's>, entityId, state) =
          let archetypeSlot = ecs.IndexArchetypeSlot entityId
          let stores = archetypeSlot.Archetype.Stores
          let store = stores.[compName] :?> 'c Store
          let store2 = stores.[comp2Name] :?> 'c2 Store
          let store3 = stores.[comp3Name] :?> 'c3 Store
          let i = archetypeSlot.ArchetypeIndex
          statement.Invoke (&store.[i], &store2.[i], &store3.[i], state)
  
      interface 'w IQuery with
          member this.Subqueries = this.Subqueries
  
negative.code:                     i <- inc i
              state
  
      member this.Iterate (compName, comp2Name, comp3Name, comp4Name, comp5Name, comp6Name, comp7Name, comp8Name, comp9Name, statement : Statement<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 'c8, 'c9, 's>) : 's -> 's =
          fun state ->
              let mutable state = state
              for archetypeEntry in archetypes do
  