So...the remove_entry() function deletes an entire object? I would consider an "entry" equivalent to a "key", but it's clearly not that.

But remove() also removes whole objects, right? So what's the difference between them? remove() seems to eventually flow into remove_entry(), and now I'm *really* confused about what the control flow is supposed to look like with this function.