pub fn call(&self, a: A) -> R {
        self.arguments.write().unwrap().push(a);

        self.returns
            .write()
            .unwrap()
            .next()
            .expect("missing pre-programmed value for call")
    }
/// simulate a call
///
/// pass the arguments to record as `a`
///
/// returns the next value from the iterator as pre-programmed
simulate a call
pass the arguments to record as `a`

returns the next value from the iterator as pre-programmed
simulate a call pass the arguments to record as ` a ` returns the next value from the iterator as pre - programmed
pub fn call(&self, a: A) -> R {
        self.arguments.write().unwrap().push(a);
        self.returns
            .write()
            .unwrap()
            .next()
            .expect("missing pre-programmed value for call")
    }
pub fn call ( & self , a : A ) -> R { self . arguments . write ( ) . unwrap ( ) . push ( a ) ; self . returns . write ( ) . unwrap ( ) . next ( ) . expect ( " " ) }
simulate a call
pass the arguments to record as `a`
simulate a call pass the arguments to record as ` a `
&self
a
A
&self
a
A