For example, to build shared threads like OpenAI’s, you might end up creating a new collection, a caching layer, or an index just to connect messages that logically belong together.
Which messages belongs together depends on the context and when you discover that the fancy thread store you built your app around can't return a list of MY messages without a full sequential scan of every single thread you'll wish you could solve it with an index.