Would a patch that allows data members to be hacked into interface data structures be acceptable?
Specifically, this would add sequences that follow this template:
#ifdef <iface>_IFACE_DATA <iface>_IFACE_DATA #endif /* <iface>_IFACE_DATA defined */
for each inherited interface, in order.