So it seems that zsh already does intend the ability to output the array in a declared way as Stephane showed (hash tables notwithstanding). Thus it's simply a matter of making that work as it proposes to do. Couldn't ask for more.
It seems that the `kv` is effectively applied before the `o`, so you get the keys and values intermixed and then the whole list sorted together. Hard to imagine a use case where that would be the desired outcome.