pub trait TypedEnum where
Self: Sized + Clone, {
fn try_from_type(
type_id: TypeId,
data: &dyn Any
) -> Result<Self, UnknownTypeError>;
fn get_type(&self) -> TypeId;
fn get_payload(&self) -> Vec<u8>;
fn serialize(&self) -> Vec<u8>;
}