What's the Matrix analog for Zulip? My understanding of Zulip is that you have an instance, streams in that instance, and topics in that stream.
Maybe in Matrix the hierarchy would be implemented by nested spaces? A space for the stream and one for each topic? That would probably work if not for the critical Zulip feature of being able to move messages between topics (and between streams?) to better organize the conversation.
Maybe one Zulip instance is a giant Matrix room and the threading model that's landing soon is used to implement the relationships? I know the upcoming threading model can dynamically change event relationships. But then maybe it would be better to avoid giving single rooms that much traffic.
There are probably lots of ways to implement that functionality. I'm curious as to what you were thinking.