anchor.diff:          match (term, term2) with
           | (I i, I i2) -> B (i >= i2)
           | (F f, F f2) -> B (f >= f2)
  +        | (S s, S s2) -> B (s >= s2)
           | (Cmp c, Cmp c2) -> B (c.CompareTo c2 >= 0)
           | (Terms terms, Terms terms2) ->
               if terms.Length = terms2.Length then
  
positive.code:     | F of single
      | V3 of Vector3
      | Box3 of Box3
      | Cmp of IComparable
      | Arb of obj
      | Tag
      | Label of string
      | Labels of string HashSet
      | EcsEntity of EcsEntity
      | Intra of string * Type
      | Extra of string * Type * obj AlwaysEqual // only creates component when at top-level.
  
negative.code:         match (term, term2) with
          | (I i, I i2) -> B (i > i2)
          | (F f, F f2) -> B (f > f2)
          | (S s, S s2) -> B (s > s2)
          | (Cmp c, Cmp c2) -> B (c.CompareTo c2 > 0)
          | (Terms terms, Terms terms2) ->
              if terms.Length = terms2.Length then
  