But it's not even vaguely correct!! If you have a list of key-value pairs and keys are not unique, shouldn't the proper response to a key query be a list of pairs that match?? The ns_set functions just return the first value and quits. So we always have to write code to scan the ns_set and collect these other values -- in other words, the client program is writing the hash lookups. This is wrong!!
I'd like to think someone has a better structure than this.
If you are trying to come up with something useful, don't try to engineer a new structure for everyone to learn.
Maybe it's just the lateness of the hour, but this is the most inflammatory luddite view I've seen today. If I find a more useful structure, hell yes I'll make people learn it! What, did we decide to stop coding??