I ran into [Ctries](https://en.wikipedia.org/wiki/Ctrie) they other day and found them intriguing. It extends HAMT (trie hash maps) to be concurrent and provide non-blocking snapshots. Anyone tried implementing one in Nim? A quick search didn't yield anything.
What particularly seemed interesting to me was creation of concurrent safe iterators in `O(1)` time using the snapshots. See the Zephyr RTOS kernel makes extensive use of singly-linked lists to implement their thread safe queues so they could concurrently update and iterate on them. However their kernel queues were unbounded which sorta bugs me. Might Ctrie's be a good alternative for that sort of low level system data structure? I haven't fully thought through the details, just ideating. Perhaps it'd be useful for something like sharing/synchronizing pages of memory. Combine that with the ability to make non-blocking iterators seems handy.