anchor.diff:          'c6 : struct and 'c6 :> 'c6 Component and
           'c7 : struct and 'c7 :> 'c7 Component and
           'c8 : struct and 'c8 :> 'c8 Component>
  -        (?compName, ?comp2Name, ?comp3Name, ?comp4Name, ?comp5Name, ?comp6Name, ?comp7Name, ?comp8Name, ?subqueries) =
  +        (ecs, ?compName, ?comp2Name, ?comp3Name, ?comp4Name, ?comp5Name, ?comp6Name, ?comp7Name, ?comp8Name, ?subqueries) =
           Query
               (hashSetPlus HashIdentity.Structural
                   [Option.getOrDefault typeof<'c>.Name compName
  
positive.code:                  Option.getOrDefault typeof<'c6>.Name comp6Name
                   Option.getOrDefault typeof<'c7>.Name comp7Name
                   Option.getOrDefault typeof<'c8>.Name comp8Name],
               Option.getOrDefault [] subqueries)
  
      static member make<'c, 'c2, 'c3, 'c4, 'c5, 'c6, 'c7, 'c8, 'c9 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>
          (ecs, ?compName, ?comp2Name, ?comp3Name, ?comp4Name, ?comp5Name, ?comp6Name, ?comp7Name, ?subqueries) =
          Query
              (hashSetPlus HashIdentity.Structural
                  [Option.getOrDefault typeof<'c>.Name compName
  