macro_rules! derive_base_prs { ($name:ident) => { ... }; ($name:ident, $patten_first: expr) => { ... }; }