anchor.diff:      member this.RegisterArchetype (archetype : 'w Archetype) =
           archetypes.Add (archetype.Id, archetype)
   
  -    member this.Iterate (compName, statement : Statement<'c, 's>) =
  +    member this.Iterate (compName, statement : Statement<'c, 's>) : 's -> 's =
           fun state ->
               let mutable state = state
               for archetypeEntry in archetypes do
  
positive.code:         'c3 : struct and 'c3 :> 'c3 Component and
          'c4 : struct and 'c4 :> 'c4 Component and
          'c5 : struct and 'c5 :> 'c5 Component>
          (statement : Statement<'c, 'c2, 'c3, 'c4, 'c5, 's>) =
          this.Iterate (typeof<'c>.Name, typeof<'c2>.Name, typeof<'c3>.Name, typeof<'c4>.Name, typeof<'c5>.Name, statement)
  
      member this.Iterate<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 's when
  
negative.code:         'c2 : struct and 'c2 :> 'c2 Component and
          'c3 : struct and 'c3 :> 'c3 Component and
          'c4 : struct and 'c4 :> 'c4 Component>
          (statement : Statement<'c, 'c2, 'c3, 'c4, 's>) : 's -> 's =
          this.Iterate (typeof<'c>.Name, typeof<'c2>.Name, typeof<'c3>.Name, typeof<'c4>.Name, statement)
  
      member this.Iterate<'c, 'c2, 'c3, 'c4, 'c5, 's when
  