pub fn decode_from_slice(slice: &[u8]) -> ComResult<(Vec<KVal>, usize)>
&mut &vec may not be user-friendly.