Collect cyclic garbage, and return the strongly connected
    components that were keeping the garbage alive.

def key_cycles():
    """
    Collect cyclic garbage, and return the strongly connected
    components that were keeping the garbage alive.

    """
    graph = garbage()
    sccs = graph.strongly_connected_components()
    return [scc for scc in sccs if _is_orphan(scc, graph)]