Using the presence or absence of `data` to indicate deletion seems a little bit strange to me.