fn fold_signature(&mut self, sig: Signature) -> Signature {
        let arg_decl = self.decl(); // FnArg
        let mut new_sig = sig;
        new_sig.inputs.push(arg_decl);
        new_sig
    }
/// Rewrite function signature of the form ... func(arg:Type,...) =>  func(arg:Type,..., state: &mut GlobalState)
Rewrite function signature of the form ...
Rewrite function signature of the form ...
fn fold_signature(&mut self, sig: Signature) -> Signature {
        let arg_decl = self.decl(); // FnArg
        let mut new_sig = sig;
        new_sig.inputs.push(arg_decl);
        new_sig
    }
fn fold_signature ( & mut self , sig : Signature ) -> Signature { let arg_decl = self . decl ( ) ; // FnArg let mut new_sig = sig ; new_sig . inputs . push ( arg_decl ) ; new_sig }
Rewrite function signature of the form ... func(arg:Type,...) =>  func(arg:Type,..., state: &mut GlobalState)
Rewrite function signature of the form ... func ( arg : Type ... ) = > func ( arg : Type ... state : &mut GlobalState )
&mut self
sig
Signature
&mut self
sig
Signature