anchor.diff:      override this.Equals other =
           match other with
           | :? CharSet as other ->
  -            tree === other.Tree ||
  +            tree == other.Tree ||
               CharDiet.equal tree other.Tree
           | _ ->
               false
  
positive.code:     //
      static member Compare (comparer : IComparer<'T>, s1 : AvlTree<'T>, s2 : AvlTree<'T>) : int =
          // OPTIMIZATION : If the trees are identical, there's no need to compare them.
          if s1 === s2 then 0
          else
              match s1, s2 with
              | Empty, Empty -> 0
  
negative.code:         //assert (CharDiet.intervalsDisjoint charSet2.Tree)
  
          // If the input sets have the same underlying tree, we can return immediately.
          if charSet1.Tree == charSet2.Tree then charSet1
          else
              // OPTIMIZATION : If the result is the same as either input set's tree,
              // return that set instead of creating a new one.
              let result = CharDiet.union charSet1.Tree charSet2.Tree
              //assert (CharDiet.dietInvariant result)
              //assert (CharDiet.intervalsDisjoint result)
              if charSet1.Tree == result then charSet1
              elif charSet2.Tree == result then charSet2
              else CharSet (result)
  
      //
  