Rename walk to path, fix the definition of cycle (or at least make it less incorrect)