generators.clj: (traverse) pre-computes the next step