docs: def schedule_messages(messages, recipients=None, sender=None, priority=None):
      """Schedules a message or messages.
  
      :param MessageBase|str|list messages: str or MessageBase heir or list - use str to create PlainTextMessage.
      :param list|None recipients: recipients addresses or Django User model heir instances
          If `None` Dispatches should be created before send using `prepare_dispatches()`.
      :param User|None sender: User model heir instance
      :param int priority: number describing message priority. If set overrides priority provided with message type.
      :return: list of tuples - (message_model, dispatches_models)
      :rtype: list
      """
      if not is_iterable(messages):
          messages = (messages,)
  
      results = []
      for message in messages:
          if isinstance(message, six.string_types):
              message = PlainTextMessage(message)
  
          resulting_priority = message.priority
          if priority is not None:
              resulting_priority = priority
          results.append(message.schedule(sender=sender, recipients=recipients, priority=resulting_priority))
  
      return results