docs: def expand_node_predecessors(universe, graph, node: BaseEntity) -> None:
      """Expand around the predecessors of the given node in the result graph.
  
      :param pybel.BELGraph universe: The graph containing the stuff to add
      :param pybel.BELGraph graph: The graph to add stuff to
      :param node: A BEL node
      """
      skip_successors = set()
      for successor in universe.successors(node):
          if successor in graph:
              skip_successors.add(successor)
              continue
  
          graph.add_node(successor, **universe.nodes[successor])
  
      graph.add_edges_from(
          (source, successor, key, data)
          for source, successor, key, data in universe.out_edges(node, data=True, keys=True)
          if successor not in skip_successors
      )
  
      update_node_helper(universe, graph)
      update_metadata(universe, graph)