anchor.diff:      override this.Equals other =
           match other with
           | :? CharSet as other ->
  +            this == other ||
               tree == other.Tree ||
               CharDiet.equal tree other.Tree
           | _ ->
  
positive.code:         member this.CompareTo other =
              match other with
              | :? CharSet as other ->
                  CharDiet.comparison this.Tree other.Tree
              | _ ->
                  invalidArg "other" "The argument is not an instance of CharSet."
  
      interface System.IComparable<CharSet> with
          member this.CompareTo other =
              CharDiet.comparison tree other.Tree
  
      interface System.IEquatable<CharSet> with
          member this.Equals other =
              CharDiet.equal tree other.Tree
  
  
  /// Functional programming operators related to the CharSet type.
  
negative.code:             | Empty, Empty -> 0
              | Empty, _ -> -1
              | _, Empty -> 1
              
              // OPTIMIZATION : For this simple, common case, avoid the overhead of creating lists.
              | Node (Empty, Empty, x, _), Node (Empty, Empty, y, _) ->
                  compare x y
  
              | _ ->
                  AvlTree<'T>.CompareStacks (comparer, [s1], [s2])
  
  