let apply_missing_outputs proj ff call output_marks more_outputs =
  SlicingParameters.debug ~level:2 "[Fct_Slice.apply_missing_outputs]";
  let ff_g = match CallInfo.get_call_f_called (ff, call) with
      | Some (T.CallSlice g) -> g
      | _ -> (* we shouldn't be here *) assert false
  in
  let g_slicing_level = M.ff_slicing_level ff_g in
    if more_outputs && g_slicing_level = T.MaxNbSlice then
      begin
        (* the easiest way is to ignore the called function and to use
        * [choose_call] *)

        FctMarks.change_call proj ff call None;
        apply_choose_call proj ff call
      end
    else
        apply_add_marks ff_g output_marks