When I read this post last week I started wondering if a better data-structure could be an adaptive radix tree. But never finished thinking about it or returned to the article.
Reason being they are very fast for linear scan.
Persistent / CoW etc versions of them exist.
They're not too hard to implement.
Curious if this approach has been tried. My reading has mostly found ARTs used as indexes for in-memory DBs.