pub fn decode<A, B, T>(msg: Message<A, B>) -> Result<T, MessageError>where A: Action, B: PacketBytes, T: DeserializeOwned,
json