Module Checkers.ImpurityDomain

module ModifiedAccess : sig ... end
module ModifiedVarMap : sig ... end
type t = {
  1. modified_params : ModifiedVarMap.t;
  2. modified_globals : ModifiedVarMap.t;
  3. skipped_calls : Pulselib.PulseBasicInterface.SkippedCalls.t;
  4. exited : Exited.t;
}
val pure : t
val is_pure : t -> bool
type param_source =
  1. | Formal
  2. | Global
val join : t -> t -> t
val get_modified_immutables_opt : IR.Tenv.t -> t -> (ModifiedVarMap.t * ModifiedVarMap.t) option