I'm a little concerned that this loses some of the efficiencies (in particular, chunking) from previous versions. That's something that can probably be improved.