docs: def exclude_sources(exclude, section=False):
      """
      Returns a narrower list of sources.
  
      If the exclude parameter is a list, every one of its items will be removed
      from the returned list.
      If it's just a function (or a function's name) and 'section' is set to
      False (default), a copy of the sources list without this element will be
      returned.
      If it's a function (or a function's name) but the section parameter is set
      to True, the returned list will be a section of the sources list, including
      everything between 'exclude' and the end of the list.
      """
      newlist = sources.copy()
      if not isinstance(exclude, list):
          exclude = [exclude]
  
      for source in exclude:
          if not section:
              newlist.remove(source)
          else:
              pos = newlist.index(source) + 1
              if pos == len(sources):
                  return []
              newlist = sources[pos:]
      return newlist