anchor.diff:  type [<StructuralEquality; NoComparison>] Term =
       | Z of int
       | R of single
  -    | Tag of string
  +    | Tag
  +    | Case of string
       | Entity of uint64
       | Terms of Term list
       static member equals (this : Term) (that : Term) = this.Equals that
  
positive.code: 
      static member private equalTo term term2 =
          match (term, term2) with
          | (Tag tag, Tag tag2) -> strEq tag tag2
          | (Entity entityId, Entity entityId2) -> entityId = entityId2
          | (Z i, Z i2) -> i = i2
          | (R i, R i2) -> i = i2
          | (Terms terms, Terms terms2) ->
              if terms.Length = terms2.Length
              then List.forall2 Subquery.equalTo terms terms2
  
negative.code: 
      static member eval term subquery =
          match subquery with
          | Is -> true
          | Eq term2  ->
              Subquery.equalTo term term2
          | Gt term2 ->
  