Going off the last part, I had explored (and initially used) generic dictionaries briefly, before I discovered by looking in the code that they didn't serialize. My case: for conversations, I wanted (and still want) to allow topics to have associations. For example, if you ask someone about her father, she might say, "My father was a farmer from Tibo." That would have a strong topic value for "father" (since that's the requested topic), but there might be auxilliary topics brought in for things like "farming", "family", "Tibo", "mother", "sister", etc, all with relevant weights. That way, if the NPC offers additional chit-chat, she can pick something to say that is not only based on "father", but related in some way to what has been discussed. (And the topics would merge and disappear over time, similar to the way a human mind works).
The natural data structure to me for that is a vector of weights (or a set of topic/weight pairs), which expresses in Quest efficiently as a dictionary of doubles. And the generic dictionary supports adding any type as a value, so I was able to use it. But... it doesn't save. So now, since I want this to persist across turns and also be saved, I have to keep the weight vector persistently as a string dictionary, and then convert it back and forth to a numeric one when I use it. It's a pain and who knows what sort of performance problems that will cause if I have to, say, search through several hundred "phrases" to decide which one a character will say.
The bottom line: people will always want what you can provide as far as functionality, especially as Quest apps become more complex, especially if it is a generalzation of an existing feature. I know I would go crazy if I could have arbitrary nesting of dictionaries or lists (i.e. dictionaries whose elements are dictionaries, and lists of lists could support multi-dimensional arrays). As of now, I would have to create objects at each level. Which I can do and have done, but it suppresses the design a bit, to have the only expression be painful...

While speaking of dictionaries, I'd love to see a "dictionary set" which always does a name/value set regardless of whether the value already exists (the current behavior of erring if a value exists for "add" is just an annoying pain; it has never been useful to me for anything. I've never encountered an associative array with that behavior before) and the ability to do a remove on a key and have it silently succeed if the key doesn't exist. I know I could write my own (and Pixie has done that), but it just rubs that a simple add has to turn into an if-exist-then-delete-before-add, even if buried in my own code. Ok, rant over.