Subroute navigation

You're just walking through `candidates`, but not mutating it otherwise - seems like this should just be a `for` loop