I had this idea yesterday... basically conversations that work like a GIT repo... you can fork or branch conversations at any time, have the whole history, but still see it separate, so it doesn't get confused.
I often have multiple conversations going on in the same live chat. (Discord, IRC, etc). It could solve that, maybe?