sig
  type t = Abstraction.Region.t
  val print : Format.formatter -> t -> unit
  val to_string : t -> string
  val eq : t -> t -> bool
  val leq : t -> t -> bool
  val cup : t -> t -> t
  val cap : t -> t -> t
  val bot : t
  val is_empty : t -> bool
  val concretize : t -> t
  val rename_vars : t -> (Ast.Expression.lval -> Ast.Expression.lval) -> t
  val change_location_and_stack : t -> t -> t
  type 'a coverers = 'Abstraction.Region.coverers
  val emptyCoverers : unit -> 'a coverers
  val clearCoverers : 'a coverers -> unit
  val addCoverer : 'a coverers -> t -> '-> unit
  val findCoverer : 'a coverers -> t -> 'a option
  type restriction = Abstraction.Region.restriction
  val negate_restriction : restriction -> restriction
  val locals_and_globals : string -> restriction
  val only_globals : restriction
  val only_locals : string -> restriction
  val restrict : restriction -> t -> t
end