functor (M : PdgMarks.T_Mark->
  sig
    type t_mark = M.t
    type t_call_info = M.t_call_info
    type t_fi = (t_mark, t_call_info) PdgIndex.FctIndex.t
    type t = PdgTypes.Pdg.t * t_fi
    val create : PdgTypes.Pdg.t -> t
    val get_idx : t -> t_fi
    type t_mark_info_inter = t_mark PdgMarks.t_info_inter
    val empty_to_prop : t_mark_info_inter
    val mark_and_propagate :
      t ->
      ?to_prop:t_mark_info_inter ->
      t_mark PdgMarks.t_select -> t_mark_info_inter
  end