Clean up the semantics of delete_item