MsgSpec: { readonly [K in string]: null | PayloadMarker<object> }

Spec object accepted by defineMsgs. Each key is a variant tag; each value is either null (no payload) or a payload marker carrying the payload type.