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