docs: def enrich_pubmed_citations(manager,
                              graph,
                              group_size: Optional[int] = None,
                              sleep_time: Optional[int] = None,
                              ) -> Set[str]:
      """Overwrite all PubMed citations with values from NCBI's eUtils lookup service.
  
      Sets authors as list, so probably a good idea to run :func:`pybel_tools.mutation.serialize_authors` before
      exporting.
  
      :type manager: pybel.manager.Manager
      :type graph: pybel.BELGraph
      :param group_size: The number of PubMed identifiers to query at a time. Defaults to 200 identifiers.
      :param sleep_time: Number of seconds to sleep between queries. Defaults to 1 second.
      :return: A set of PMIDs for which the eUtils service crashed
      """
      pmids = get_pubmed_identifiers(graph)
      pmid_data, errors = get_citations_by_pmids(manager, pmids=pmids, group_size=group_size, sleep_time=sleep_time)
  
      for u, v, k in filter_edges(graph, has_pubmed):
          pmid = graph[u][v][k][CITATION][CITATION_REFERENCE].strip()
  
          if pmid not in pmid_data:
              log.warning('Missing data for PubMed identifier: %s', pmid)
              errors.add(pmid)
              continue
  
          graph[u][v][k][CITATION].update(pmid_data[pmid])
  
      return errors