Nils Ollrogge reported a bug in the assoc_array library and had a patch
to fix it too, but that code was too obscure for me to follow, so I did
what I preach: use modern LLM tools to help make sense of it all.
So this is an LLM-assisted branch which makes the code more readable by
splitting up some of the larger and hard-to-read functions. The code
was then run through a test harness in user space, which not only
confirmed the bug Nils reported, but found three other bugs too - all
going back to the very first commit adding this library back in 2013.