anchor.diff:      let rec private union' (input : CharDiet) limit head (stream : CharDiet)
           : CharDiet * (char * char) option * CharDiet =
           // Preconditions
  -        assert (CharDiet.Height input >= CharDiet.Height stream)
  -        assert (dietInvariant input)
  -        assert (dietInvariant stream)
  +        //assert (CharDiet.Height input >= CharDiet.Height stream)  // Keep this!
  +        //assert (dietInvariant input)
  +        //assert (fst <| intervalsDisjoint input Set.empty)
  +        //assert (dietInvariant stream)
  +        //assert (fst <| intervalsDisjoint stream Set.empty)
   
           match head, input with
           | None, _ ->
  
positive.code:                 else
                      Empty, head, stream
  
              inter_helper (a, b) right (tap (fun x -> assert (dietInvariant x)) <| left') head (tap (fun x -> assert (dietInvariant x)) <| stream')
  
      /// Helper function for computing the intersection of two sets.
      and private inter_helper (a, b) (right : CharDiet) (left : CharDiet) head stream =
          // Preconditions
          if a > b then
              invalidArg "b" "The upper bound of the interval is less than the lower bound."
          assert (dietInvariant left)
          assert (dietInvariant right)
          assert (dietInvariant stream)
  
          match head with
          | None ->
              left, None, Empty
          | Some (x, y) ->
              if y < a then
                  match stream with
  
negative.code:                     if b <= y then y, right
                      else find_del_right b right
  
                  CharDiet.Join (comparer, left', right', (x', y'))
  
      /// Returns a new set with the given element removed.
      /// No exception is thrown if the set doesn't contain the specified element.
      let rec remove value (tree : CharDiet) : CharDiet =
          // Preconditions
          //assert (dietInvariant tree)
          //assert (fst <| intervalsDisjoint tree Set.empty)
  
          match tree with
          | Empty ->
  