sig
  module M :
    sig
      type prop_mode = BoolMark.prop_mode = Glob | Loc
      type t = bool * Marks.BoolMark.prop_mode
      type t_call_info = unit
      val bottom : bool * Marks.BoolMark.prop_mode
      val top : bool * Marks.BoolMark.prop_mode
      val visible : 'a * '-> 'a
      val mk : bool -> bool * Marks.BoolMark.prop_mode
      val merge :
        bool * Marks.BoolMark.prop_mode ->
        bool * Marks.BoolMark.prop_mode -> bool * Marks.BoolMark.prop_mode
      val equal : Marks.BoolMark.t -> bool * Marks.BoolMark.prop_mode -> bool
      val combine :
        Marks.BoolMark.t ->
        bool * Marks.BoolMark.prop_mode ->
        (bool * Marks.BoolMark.prop_mode) * (bool * Marks.BoolMark.prop_mode)
      val is_bottom : bool * Marks.BoolMark.prop_mode -> bool
      val pretty :
        Format.formatter -> bool * Marks.BoolMark.prop_mode -> unit
    end
  val mark_to_prop_to_caller_input :
    Cil_types.stmt option ->
    Db.Pdg.t ->
    PdgMarks.t_select_elem ->
    bool * Marks.BoolMark.prop_mode ->
    (bool * Marks.BoolMark.prop_mode) option
  val mark_to_prop_to_called_output :
    '->
    PdgTypes.Pdg.t ->
    '->
    bool * Marks.Config.M.prop_mode ->
    (bool * Marks.Config.M.prop_mode) option
end