anchor.diff:          let i = archetypeSlot.ArchetypeIndex
           statement.Invoke (&store.[i], &store2.[i], &store3.[i], &store4.[i], &store5.[i], &store6.[i], state)
   
  -    member this.Index (compName, comp2Name, comp3Name, comp4Name, comp5Name, comp6Name, comp7Name, statement : Statement<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 's>, (entityRef : 'w EntityRef), state : 's) =
  -        let archetypeSlot = this.IndexArchetypeSlot entityRef
  +    member this.Index (compName, comp2Name, comp3Name, comp4Name, comp5Name, comp6Name, comp7Name, state : 's, statement : Statement<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 's>) =
  +        let archetypeSlot = this.Ecs.IndexArchetypeSlot this
           let stores = archetypeSlot.Archetype.Stores
           let store = stores.[compName] :?> 'c Store
           let store2 = stores.[comp2Name] :?> 'c2 Store
  
positive.code:         'c6 : struct and 'c6 :> 'c6 Component and
          'c7 : struct and 'c7 :> 'c7 Component and
          'c8 : struct and 'c8 :> 'c8 Component>
          (statement : Statement<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 'c8, 's>, entityRef, state : 's) =
          this.Index (typeof<'c>.Name, typeof<'c2>.Name, typeof<'c3>.Name, typeof<'c4>.Name, typeof<'c5>.Name, typeof<'c6>.Name, typeof<'c7>.Name, typeof<'c8>.Name, statement, entityRef, state)
  
      member this.Index<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 'c8, 'c9, 's when
          'c : struct and 'c :> 'c Component and
  
negative.code:         'c5 : struct and 'c5 :> 'c5 Component and
          'c6 : struct and 'c6 :> 'c6 Component and
          'c7 : struct and 'c7 :> 'c7 Component>
          (state : 's, statement : Statement<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 's>) =
          this.Index (typeof<'c>.Name, typeof<'c2>.Name, typeof<'c3>.Name, typeof<'c4>.Name, typeof<'c5>.Name, typeof<'c6>.Name, typeof<'c7>.Name, state, statement)
  
      member this.Index<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 'c8, 's when
          'c : struct and 'c :> 'c Component and
  