docs: def node_predicate(f: Callable[[BaseEntity], bool]) -> NodePredicate:  # noqa: D202
      """Tag a node predicate that takes a dictionary to also accept a pair of (BELGraph, node).
  
      Apply this as a decorator to a function that takes a single argument, a PyBEL node, to make
      sure that it can also accept a pair of arguments, a BELGraph and a PyBEL node as well.
      """
  
      @wraps(f)
      def wrapped(*args):
          x = args[0]
  
          if isinstance(x, BELGraph):
              return f(args[1], *args[2:])
  
          # Assume:
          # if isinstance(x, dict):
          return f(*args)
  
      return wrapped