macro_rules! add_functionality {
    ($(pub struct $name:ident { $(pub $fname:ident : $ftype:ty), *})*) => { ... };
}