It isn't hard, but it would require us to alter the stream impl we have a little more.  The issue is using `#mark` and `#reset` won't do: the decode methods themselves do that & destroy the old mark in the process.