docs: def build_pmid_inclusion_filter(pmids: Strings) -> EdgePredicate:
      """Build an edge predicate that passes for edges with citations from the given PubMed identifier(s).
  
      :param pmids: A PubMed identifier or list of PubMed identifiers to filter for
      """
      if isinstance(pmids, str):
          @edge_predicate
          def pmid_inclusion_filter(edge_data: EdgeData) -> bool:
              """Pass for edges with PubMed citations matching the contained PubMed identifier."""
              return has_pubmed(edge_data) and edge_data[CITATION][CITATION_REFERENCE] == pmids
  
      elif isinstance(pmids, Iterable):
          pmids = set(pmids)
  
          @edge_predicate
          def pmid_inclusion_filter(edge_data: EdgeData) -> bool:
              """Pass for edges with PubMed citations matching one of the contained PubMed identifiers."""
              return has_pubmed(edge_data) and edge_data[CITATION][CITATION_REFERENCE] in pmids
  
      else:
          raise TypeError
  
      return pmid_inclusion_filter