human
Here's a good function header given the following:
I wrote the below code

    if (not remove_split):
        raise ValueError('remove_split=False    is    not    supported    anymore')
    cands = []
    seen_edges = set()
    nodes = set()
    push_count = [0]
    def add_cand(cand):
        heapq.heappush(cands, ((- cand.rank), push_count[0], cand))
        push_count[0] += 1
    for o in outputs:
        if isinstance(o, variable.Variable):
            o = o.node
        add_cand(o)
        nodes.add(o)
    while cands:
        (_, _, cand) = heapq.heappop(cands)
        if isinstance(cand, variable.VariableNode):
            creator = cand.creator_node
            if ((creator is not None) and ((creator, cand) not in seen_edges)):
                add_cand(creator)
                seen_edges.add((creator, cand))
                nodes.add(creator)
                nodes.add(cand)
        elif isinstance(cand, function_node.FunctionNode):
            for input_ in cand.inputs:
                if ((input_ is not cand) and ((input_, cand) not in seen_edges)):
                    add_cand(input_)
                    seen_edges.add((input_, cand))
                    nodes.add(input_)
                    nodes.add(cand)
    return ComputationalGraph(list(nodes), list(seen_edges), variable_style, function_style, rankdir, remove_variable, show_name)

What's a good function header?
assistant
#Here's a good function header.

def build_computational_graph(outputs, remove_split=True, variable_style=_var_style, function_style=_func_style, rankdir='TB', remove_variable=False, show_name=True):