It would have saved me at least a few months in implementing zvariant/zbus, if these rules were clear. Especially the one about the array element needing padding even if it's in-existent, is very unexpected and zvariant 1.0 was broken for empty arrays for this reason alone.