pub fn interpret<I, E>( mem: &mut Vec<u8>, program: &[u8], input: I, ) -> Result<(), (TapirError, usize)>where I: Iterator<Item = Result<String, E>>, E: Error + Sized,