pub fn key_mut(&mut self) -> &mut K {
        unsafe { self.node.key_area_mut(self.idx).assume_init_mut() }
    }
Splits the underlying node into three parts:

- The node is truncated to only contain the key-value pairs to the left of
this handle.
- The key and value pointed to by this handle are extracted.
- All the key-value pairs to the right of this handle are put into a newly
benchmarks/haystacks/code/rust-library.rs