docs: def build_author_inclusion_filter(authors: Strings) -> EdgePredicate:
      """Build an edge predicate that passes for edges with citations written by the given author(s)."""
      if isinstance(authors, str):
          @edge_predicate
          def author_filter(edge_data: EdgeData) -> bool:
              """Pass for edges with citations with an author that matches the contained author."""
              return has_authors(edge_data) and authors in edge_data[CITATION][CITATION_AUTHORS]
  
      elif isinstance(authors, Iterable):
          authors = set(authors)
  
          @edge_predicate
          def author_filter(edge_data: EdgeData) -> bool:
              """Pass for edges with citations with an author that matches one or more of the contained authors."""
              return has_authors(edge_data) and any(
                  author in edge_data[CITATION][CITATION_AUTHORS]
                  for author in authors
              )
  
      else:
          raise TypeError
  
      return author_filter