I'm not sure about assuming that a get{} is a read. Maybe we could inspect the position or replace the stream with a better abstraction?