pub(crate) fn encode_and_check<M>( msg: &M, budget: usize, ) -> Result<Vec<u8>, StrategyError>where M: Message,