add: wassertrv(SELF->count == 0||SELF->root->index >= 0, 1);
context: static int eraseFromBag(WMBag *self, int index){    W_Node *ptr = treeSearch(SELF->root, SELF->nil, index);        if (ptr != SELF->nil) {		SELF->count--;		ptr = rbTreeDelete(SELF, ptr);	if (self->destructor)	    self->destructor(ptr->data);	free(ptr);	return 1;    } else {	return 0;    }}