docs: def is_valid_schedule(schedule, events, slots):
      """Take a schedule and return whether it is a valid solution for the
      given constraints
  
      Parameters
      ----------
          schedule : list or tuple
              a schedule in schedule form
          events : list or tuple
              of resources.Event instances
          slots : list or tuple
              of resources.Slot instances
  
      Returns
      -------
          bool
              True if schedule is a valid solution
      """
      if len(schedule) == 0:
          return False
      array = converter.schedule_to_array(schedule, events, slots)
      return is_valid_array(array, events, slots)