Module MakeSI.SideEffects

type t = {
  1. reads_local_mut : U.Sets.TypedLocalIdent.t;
    (*

    only free variables

    *)
  2. writes_local_mut : U.Sets.TypedLocalIdent.t;
    (*

    only free variables

    *)
  3. deep_mutation : Prelude.bool;
  4. return : ty Prelude.option;
  5. continue : ty Prelude.option Prelude.option;
  6. break : ty Prelude.option;
}
val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
val show : t -> Ppx_deriving_runtime.string
val zero : t
val plus : t -> t -> t
val reads : Local_ident.t -> ty -> t
val writes : Local_ident.t -> ty -> t
val no_deep_mut_or_cf : t -> Prelude.bool
val reads_local_mut_only : t -> Prelude.bool
val commute : t -> t -> Prelude.bool
class 's monoid : object ... end
val without_rw_vars : U.Sets.Local_ident.t -> t -> t