pub fn handle_underflow(mut self) {
        unsafe {
            if self.index > 0 {
                self.handle_underflow_to_left();
            } else {
                self.handle_underflow_to_right();
            }
        }
    }
/// Handle an underflow in this node's child. We favour handling "to the left" because we know
/// we're empty, but our neighbour can be full. Handling to the left means when we choose to
/// steal, we pop off the end of our neighbour (always fast) and "unshift" ourselves
/// (always slow, but at least faster since we know we're half-empty).
/// Handling "to the right" reverses these roles. Of course, we merge whenever possible
/// because we want dense nodes, and merging is about equal work regardless of direction.
Handle an underflow in this node's child. We favour handling "to the left" because we know
we're empty, but our neighbour can be full. Handling to the left means when we choose to
steal, we pop off the end of our neighbour (always fast) and "unshift" ourselves
(always slow, but at least faster since we know we're half-empty).
Handling "to the right" reverses these roles. Of course, we merge whenever possible
because we want dense nodes, and merging is about equal work regardless of direction.
Handle an underflow in this node ' s child . We favour handling " to the left " because we know we ' re empty but our neighbour can be full . Handling to the left means when we choose to steal we pop off the end of our neighbour ( always fast ) and " unshift " ourselves ( always slow but at least faster since we know we ' re half - empty ) . Handling " to the right " reverses these roles . Of course we merge whenever possible because we want dense nodes and merging is about equal work regardless of direction .
pub fn handle_underflow(mut self) {
        unsafe {
            if self.index > 0 {
                self.handle_underflow_to_left();
            } else {
                self.handle_underflow_to_right();
            }
        }
    }
pub fn handle_underflow ( mut self ) { unsafe { if self . index > 0 { self . handle_underflow_to_left ( ) ; } else { self . handle_underflow_to_right ( ) ; } } }
Handle an underflow in this node's child.
Handle an underflow in this node ' s child .
mut self