let closest (k,r) lmap = 
    Option.bind
      (Map.find lmap k)
      Range.(fun x ->
        try
          let lo,hi,label,d = T.find_closest r.lo r.hi x in
          Some ((k, make lo hi), label, d)
        with T.Empty_tree -> None
      )