anchor.diff:      static member AddRange (lower, upper, charSet : CharSet) : CharSet =
           // Preconditions
           checkNonNull "charSet" charSet
  -        assert (CharDiet.dietInvariant charSet.Tree)
  +        //assert (CharDiet.dietInvariant charSet.Tree)
  +        //assert (CharDiet.intervalsDisjoint charSet.Tree)
   
           // For compatibility with the F# range operator, we don't raise
           // an exception if lower > upper; that is considered an empty range,
  
positive.code:     //
      let toSet (tree : CharDiet) =
          // Preconditions
          assert (dietInvariant tree)
          assert (intervalsDisjoint tree)
  
          (Set.empty, tree)
          ||> fold (fun set el ->
  
negative.code:         // Preconditions
          checkNonNull "charSet1" charSet1
          checkNonNull "charSet2" charSet2
          //assert (CharDiet.dietInvariant charSet1.Tree)
          //assert (CharDiet.dietInvariant charSet2.Tree)
          //assert (CharDiet.intervalsDisjoint charSet1.Tree)
          //assert (CharDiet.intervalsDisjoint charSet2.Tree)
  
          // 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)
  