anchor.diff:      /// Comparison function for DIETs.
       let rec comparison (t1 : CharDiet) (t2 : CharDiet) =
           match t1, t2 with
  +        | Node (_,_,_,_), Empty -> 1
  +        | Empty, Empty -> 0
  +        | Empty, Node (_,_,_,_) -> -1
           | Node (_,_,_,_), Node (_,_,_,_) ->
               let (ix1, iy1), r1 = AvlTree.ExtractMin t1
               let (ix2, iy2), r2 = AvlTree.ExtractMin t2
  
positive.code:         | None ->
              AvlTree.Join comparer (a, b) left right, None, Empty
          | Some (x, y) ->
              let greater_limit z =
                  match limit with
                  | None -> false
                  | Some u ->
                      z >= u
  
              if y < a && y < pred a then
                  let left' = addRange (x, y) left
                  let head, stream = AvlTree.TryExtractMin stream
  
negative.code:                 else compare iy1 iy2
              if c <> 0 then c
              else comparison r1 r2
  
      /// Equality function for DIETs.
      let equal (t1 : CharDiet) (t2 : CharDiet) =
  