Big surprise here too. Could someone (Stu?) possibly motivate a little why this couldn't/shouldn't be a contractual property? It seems like it has utility. Perhaps more importantly, it seems to be an intuitively reasonable assumption. That's subjective, sure, but I feel like I've seen this pattern come up quite widely.
Anecdotally, am quite sure I've made use of the assumption before (i.e. that `(keys m)` and `(vals m)` will return sequences as per pair order).
Would need to review code to see how frequently I've made the error.
To clarify: not disagreeing, just want to understand the thought that's gone in.
> Could we at least explicitely document the absence of this property in the docs in order to avoid further confusion?
That'd be a big help I think. I'd generally take an