pub fn sub_type<T: ?Sized + Reencode>( reencoder: &mut T, sub_ty: SubType, ) -> Result<SubType, Error<T::Error>>