по сути, в таком подходе у нас нет возможности работать с обобщенным типом MyEvent (надо вручную мейнтейнить этот дикий match на десяток кейсов) и нет никаких гарантий на структуру самого сообщения
Все равно придется в каком-то месте писать какому сообщение какой тип соответствует. И это будет не малкнький список.
код получается приблизительно такой (вариаций на самом деле масса, но идея та же): берется DU, для каждого кейса в этом DU определяется тип тела, для вязкости добавляются кастомные парсеры для каждого кейса, все это сваливается в один СПИСОК