let add_persistent_selection project set =
  (* Format.printf "@\nadd_persistent_selection@."; *)
  let add_selection prev selection =
    let kf = !Slicing.Select.get_function selection in
    let r = match prev with
        None -> !Slicing.Request.apply_all_internal project ; Some (kf)
      | Some prev_kf -> if prev_kf == kf then prev else None
    in !Slicing.Request.add_selection_internal project selection; r
  in ignore (Slicing.Select.fold_selects_internal add_selection None set)