pub fn interpret<I, E, O>( mem: &mut Vec<u8>, program: &[u8], input: I, output: O, eof_retry: bool, ) -> Result<(), (TapirError<E>, usize)>where I: IntoIterator<Item = Result<u8, E>>, O: Write,