`collect_messages()` is useful for the UI but needs to be used with caution, if you give it all the keys it will load them all into memory. The point is not to do that. It is also used by `export_conversation_messages_sorted()` which *is* currently loading all messages in memory for sorting (which is why I'm doing this work). I'm happy to make that go away in a separate PR.