indirect_once
macro_rules! indirect_fn { (resolver = $resolver: ident ; fn $name:ident($($arg: ident : $pty: ty),*) {}) => { ... }; (resolver = $resolver: ident ; fn $name:ident($($arg: ident : $pty: ty),*) -> $ret: ty {}) => { ... }; }