They all shoot themselves in the foot by over complicating the model. It confuses users, and makes creating stable clients hard.
I don't want a tool-box of primitives and a recipe book. I want a decentralized discord clone not owned by a giant company.
Let's start there and add the crazy stuff later.