docs: def to_array(self):
          """
          Serializes this VoiceMessage to a dictionary.
  
          :return: dictionary representation of this object.
          :rtype: dict
          """
          array = super(VoiceMessage, self).to_array()
          if isinstance(self.voice, InputFile):
              array['voice'] = self.voice.to_array()  # type InputFile
          elif isinstance(self.voice, str):
              array['voice'] = u(self.voice)  # py2: type unicode, py3: type str
          else:
              raise TypeError('Unknown type, must be one of InputFile, str.')
          # end if
  
          if self.receiver is not None:
              if isinstance(self.receiver, None):
                  array['chat_id'] = None(self.receiver)  # type Noneelif isinstance(self.receiver, str):
                  array['chat_id'] = u(self.receiver)  # py2: type unicode, py3: type str
              elif isinstance(self.receiver, int):
                  array['chat_id'] = int(self.receiver)  # type intelse:
                  raise TypeError('Unknown type, must be one of None, str, int.')
              # end if
  
          if self.reply_id is not None:
              if isinstance(self.reply_id, DEFAULT_MESSAGE_ID):
                  array['reply_to_message_id'] = DEFAULT_MESSAGE_ID(self.reply_id)  # type DEFAULT_MESSAGE_IDelif isinstance(self.reply_id, int):
                  array['reply_to_message_id'] = int(self.reply_id)  # type intelse:
                  raise TypeError('Unknown type, must be one of DEFAULT_MESSAGE_ID, int.')
              # end if
  
          if self.caption is not None:
              array['caption'] = u(self.caption)  # py2: type unicode, py3: type str
  
          if self.parse_mode is not None:
              array['parse_mode'] = u(self.parse_mode)  # py2: type unicode, py3: type str
  
          if self.duration is not None:
              array['duration'] = int(self.duration)  # type int
          if self.disable_notification is not None:
              array['disable_notification'] = bool(self.disable_notification)  # type bool
          if self.reply_markup is not None:
              if isinstance(self.reply_markup, InlineKeyboardMarkup):
                  array['reply_markup'] = self.reply_markup.to_array()  # type InlineKeyboardMarkup
              elif isinstance(self.reply_markup, ReplyKeyboardMarkup):
                  array['reply_markup'] = self.reply_markup.to_array()  # type ReplyKeyboardMarkup
              elif isinstance(self.reply_markup, ReplyKeyboardRemove):
                  array['reply_markup'] = self.reply_markup.to_array()  # type ReplyKeyboardRemove
              elif isinstance(self.reply_markup, ForceReply):
                  array['reply_markup'] = self.reply_markup.to_array()  # type ForceReply
              else:
                  raise TypeError('Unknown type, must be one of InlineKeyboardMarkup, ReplyKeyboardMarkup, ReplyKeyboardRemove, ForceReply.')
              # end if
  
          return array