These function names seem to be reversed.

Seems like the _discard() function takes care of removing from both the reader and writer, and doesn't look like
these functions are really used currently.