sig
  type t = SlicingInternals.pdg_mark PdgIndex.Signature.t
  val pretty :
    Format.formatter ->
    SlicingInternals.pdg_mark PdgIndex.Signature.t -> unit
  val get_input_mark :
    SlicingMarks.SigMarks.t -> int -> SlicingInternals.pdg_mark
  val get_in_ctrl_mark : SlicingMarks.SigMarks.t -> SlicingInternals.pdg_mark
  val get_in_top_mark : SlicingMarks.SigMarks.t -> SlicingInternals.pdg_mark
  val get_all_input_marks :
    SlicingMarks.SigMarks.t ->
    (PdgIndex.Signature.in_key * SlicingInternals.pdg_mark) list
  val get_matching_input_marks :
    SlicingMarks.SigMarks.t ->
    Locations.Zone.t ->
    (PdgIndex.Signature.in_key * SlicingInternals.pdg_mark) list
  exception Visible
  val raise_if_visible : unit -> 'a * SlicingInternals.pdg_mark -> unit
  val some_visible_out :
    SlicingInternals.pdg_mark PdgIndex.Signature.t -> bool
  val is_topin_visible : SlicingMarks.SigMarks.t -> bool
  val ctrl_visible : SlicingMarks.SigMarks.t -> bool
  val some_visible_in : SlicingMarks.SigMarks.t -> bool
  val merge_inputs_m1_mark :
    SlicingInternals.pdg_mark PdgIndex.Signature.t ->
    SlicingInternals.pdg_mark
  val get_input_loc_under_mark :
    SlicingInternals.pdg_mark PdgIndex.Signature.t ->
    Locations.Zone.t -> SlicingInternals.pdg_mark
  val something_visible : SlicingMarks.SigMarks.t -> bool
  val get_marked_out_zone :
    SlicingInternals.pdg_mark PdgIndex.Signature.t -> bool * Locations.Zone.t
end