sig
  exception Cannot_fold
  val make : PdgTypes.LocInfo.t -> Locations.Zone.t -> PdgTypes.data_state
  val empty : PdgTypes.data_state
  val bottom : PdgTypes.data_state
  val add_loc_node :
    PdgTypes.data_state ->
    exact:bool -> Locations.Zone.t -> PdgTypes.Node.t -> PdgTypes.data_state
  val add_init_state_input :
    PdgTypes.data_state ->
    Locations.Zone.t -> PdgTypes.Node.t -> PdgTypes.data_state
  val test_and_merge :
    old:PdgTypes.data_state ->
    PdgTypes.data_state -> bool * PdgTypes.data_state
  val get_loc_nodes :
    PdgTypes.data_state ->
    Locations.Zone.t ->
    (PdgTypes.Node.t * Locations.Zone.t option) list *
    Locations.Zone.t option
  val pretty : Format.formatter -> PdgTypes.data_state -> unit
  type states = PdgTypes.data_state Cil_datatype.Stmt.Hashtbl.t
  val store_init_state : Pdg_state.states -> PdgTypes.data_state -> unit
  val store_last_state : Pdg_state.states -> PdgTypes.data_state -> unit
  val get_init_state : Pdg_state.states -> PdgTypes.data_state
  val get_stmt_state :
    Pdg_state.states -> Cil_types.stmt -> PdgTypes.data_state
  val get_last_state : Pdg_state.states -> PdgTypes.data_state
end