anchor.diff:      else
         Some v
   
  -type path_elem = option<int>*string
  +type path_elem = option<string>*string
   
   let rec btree_find_prefix (tr: btree<'a>) (prefix: string) : list<path_elem*'a> =
     let rec aux (tr: btree<'a>) (prefix: string) (acc: list<path_elem*'a>) : list<path_elem*'a> =
  
positive.code:   trie_add_alias tbl key query
  
  let path_match_length (path: path) : int =
    List.fold (fun acc elem ->
               match fst elem with
               | Some nchars -> 1 (* ‘.’ *) + nchars + acc
               | None -> acc)
              0 path
  
  let path_to_string (path: path) : string =
    String.concat "." (List.map snd path)
  
negative.code:         if explore_right then aux rtr prefix acc else acc in
        let matches =
          if include_middle then
            ((Some prefix, k), v) :: matches
          else
            matches in
        let matches =
  