type Msg2Content = { msg:string };
type Msg2 = Event<'2', Msg2Content>;
type Msg= Msg1 | Msg2;

const MkMsg1 = ():Msg1 => ({ eventKind: '1', type: undefined });
const MkMsg2 = (msg:Msg2Content):Msg2 => ({ eventKind: '2', type: msg });