anchor.diff:                  let disjointSet = not <| Range.exists (fun x -> Set.contains x elements) a b
   
                   if not disjoint || not disjointSet then
  +                    tprintfn "DIET invariant failed: the intervals in the DIET are not disjoint."
                       false, elements
                   else
                       // Add the elements from this interval to the set.
  
positive.code:             let height_l = computeHeight l
              let height_r = computeHeight r
              let height_diff = (max height_l height_r) - (min height_l height_r)
              
              height_diff <= balanceTolerance
              && h = ((max height_l height_r) + 1u)
              && dietInvariant l
              && dietInvariant r
              // Check that the interval is correctly directed.
              && a <= b
              // Check that the intervals are disjoint.
              //&& (intervalsDisjoint tree Set.empty |> fst)
  
  
negative.code:         | Node (l, r, (a, b), _) ->
              match intervalsDisjointImpl l elements with
              | false, elements ->
                  tprintfn "DIET invariant failed: the intervals in the DIET are not disjoint."
                  false, elements
              | true, elements ->
                  // Check that this interval (a, b) is disjoint from the other elements seen so far.
  