anchor.diff:  
       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
  +        | (Case case', Case case2) -> strEq case' case2
  +        | (Entity entityId, Entity entityId2) -> entityId = entityId2
           | (Terms terms, Terms terms2) ->
               if terms.Length = terms2.Length
               then List.forall2 Subquery.equalTo terms terms2
  
positive.code:             | (false, _) -> result <- false
          result
  
      static member dict entries =
          dictPlus<string, Subquery> HashIdentity.Structural entries
  
  /// Identifies an archetype.
  /// TODO: consider embedding hash code to make look-ups faster.
  
negative.code: 
      static member eval term subquery =
          match subquery with
          | Is -> true
          | Eq term2  ->
              Subquery.equalTo term term2
          | Gt term2 ->
  