def backprop(node, graph):
    """ Find the causal contributors to node "node" in graph "graph" """
    nodes = [node]
    trace = []
    while nodes:
        currNode = nodes.pop()
        predecessors = [neighbour for neighbour in graph.neighbors(currNode)
                        if neighbour["node"].age <= currNode["node"].age]
        trace.extend(predecessors)
        nodes.extend(predecessors)
    return trace