A depth first search generator.[1]