When advance() in BufferList gets called, the linked list of buffers behind the scene advances so that all the unused buffers can get garbage collected. Binary has a flush() method too that calls advance().
Nice, I'll definitely take this lib on my next binary adventure : )