Generic associated types landed just a little over week ago: rust-lang/rfcs#1598 They are still far away from stabilisation, but once they stabilise, they allow expressing the streaming iterator pattern as a trait. This crate also supports parsing in a streaming iterator style, using read_record and read_byte_record. Should some precautions be taken for later adding a trait-based streaming iterator API, or can the API added in a non-breaking way after 1.0?