Module type Monads.State_fixed'

type 'a t
type s
include State_generalised with type ('a, _, _) t := 'a t with type 'a s := s
include Monad_indexed' with type ('a, _, _) t := 'a t
include Monad_generalised with type ('a, 'i, 'j, _) t := 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val get : s t
val put : s -> unit t