pub fn remove_entry<Q: ?Sized>(&mut self, key: &Q) -> Option<(K, V)>
    where
        K: Borrow<Q> + Ord,
        Q: Ord,
    {
        let (map, dormant_map) = DormantMutRef::new(self);
        let root_node = map.root.as_mut()?.borrow_mut();
        match root_node.search_tree(key) {
            Found(handle) => {
                Some(OccupiedEntry { handle, dormant_map, _marker: PhantomData }.remove_entry())
            }
            GoDown(_) => None,
        }
    }
Constructs a double-ended iterator over a sub-range of elements in the map.
The simplest way is to use the range syntax `min..max`, thus `range(min..max)` will
yield elements from min (inclus
benchmarks/haystacks/code/rust-library.rs