pub fn val_type<T: ?Sized + Reencode>( reencoder: &mut T, val_ty: ValType, ) -> Result<ValType, Error<T::Error>>