comb
pub fn scan_with<F, A, B>(f: F) -> ScanWith<F, A, B> where F: Fn(&mut Stream<A>) -> Result<B, A>,
Scans the stream with a production function