Just out of curiosity, what do you think about an approach that instead creates a`QITAB` with an entry for every inherited interface in `write_widl_impl_macros_methods`, so that the final `QueryInterface` can be done with a `QISearch`? Would it reduce macro usage?