let branch_to_string (state: state) : string =
  List.fold_left
    (fun acc choice_point ->
       choice_point_to_string_extended choice_point ^ "\n" ^ acc
    )
    ""
    state.st_branch