let replay (jumping: jumping) (state: state) : guiding_path =
  (* return oldest stored guiding path first *)
  let path =
    match jumping.guiding_paths with
      | [] ->
          raise Not_found
            
      | head :: tail ->
          jumping.guiding_paths <- tail;
          head
  in
    jumping.state <- state;
    Counter.set jumping.split_counter 0;

    path