Module State.State_effect

type t
val is : t -> type_:'a State_effect_type.t -> bool
val value : t -> type_: 'a {State}1/shadowed/(c08171190e2c3a39ba2a8b442a5c2b96).State_effect_type.t -> 'a option
val define : (module State_effect_spec with type t = 'a) -> 'a State_effect_type.t

The "real" type of `State_effect.define` is `unit -> 'a State_effect_type.t`. We require passing in a First Class Module with type t = 'a so that we only create state effects connected to real types.