let add_marks_to_fi proj fi nodes_marks propagate actions =
  SlicingParameters.debug ~level:2 "[Fct_Slice.add_marks_to_fi] (persistent)";
  let marks, are_new_marks =
    match FctMarks.fi_marks fi with
      | Some m -> m, false
      | None ->
          let init_marks = FctMarks.new_empty_fi_marks fi in
            init_marks, true
  in
  let to_prop = add_marks marks nodes_marks in
  let actions = if propagate
                then prop_persistant_marks proj fi to_prop actions
                else actions
  in are_new_marks, actions