Simple unions are simpler than flat unions in the schema, but more complicated in C and on the QMP wire: there's extra indirection in C and extra nesting on the wire, both pointless. They're best avoided in new code.
But we can do more: we can flatten the simple unions that aren't used in QMP. In the longer run, I'd love to get rid of simple unions entirely, and reduce the notational overhead of flat unions in the schema. v2: * PATCH 1+2: Since: added [Eric], commit message tweaked * PATCH 3: new Markus Armbruster (3): numa: Flatten simple union NumaOptions net: Flatten simple union NetLegacyOptions i386/cpu: net: Flatten simple union GuestPanicInformationType net/net.c | 44 ++++++++++++++++++++++---------------------- numa.c | 4 ++-- qapi-schema.json | 35 +++++++++++++++++++++++++++++++++-- target/i386/cpu.c | 17 ++++++----------- vl.c | 12 ++++++------ 5 files changed, 69 insertions(+), 43 deletions(-) -- 2.7.4