macro_rules! algstruct { ($name:ident, +, *) => { ... }; ($name:ident, +) => { ... }; ($name:ident, *) => { ... }; }