anchor.diff:          assert (CharDiet.Height input >= CharDiet.Height stream)
           assert (dietInvariant input)
           assert (dietInvariant stream)
  +//        assert (fst <| intervalsDisjoint input Set.empty)
  +//        assert (fst <| intervalsDisjoint stream Set.empty)
   
           match head, input with
           | None, _->
  
positive.code:         match tree with
          | Empty ->
              None, tree
          | Node (l, Empty, n, _) ->
              Some n, l
          | Node (left, r, n, _) ->
              let na, l = AvlTree.TryDeleteMin left
              match na with
              | None ->
                  na, l
              | Some _ ->
                  na, AvlTree.mkt_bal_r (n, l, r)
  
      /// Removes the maximum (greatest) value from a AvlTree,
      /// returning the value along with the updated tree.
  
negative.code:             let result, _, _ =
                  CharDiet.TryDeleteMin stream
                  ||> inter' input
              
              Debug.Assert (
                  dietInvariant result,
                  "The DIET invariant does not hold for the result.")
              Debug.Assert (
                  fst <| intervalsDisjoint result Set.empty,
                  "The intervals in the DIET are not disjoint.")
  
              #if DEBUG
              let resultCount = count result
  