macro_rules! implement_com {
    {
        for_struct: $ for_struct: ident,
        identity: $ identity: ident,
        wrapper_struct: $ wrapper_struct: ident,
        interface_count: $ interface_count: tt,
        interfaces: {
            $ ( $ iface_index: tt: $ iface: ident), *
        }
    } => { ... };
}