Module type Monad.MonadReaderStateResult

include S
type 'a m
val ret : 'a -> 'a m
val bind : 'a m -> ('a -> 'b m) -> 'b m
type global
type local
val read : local m
val scope : (local -> local) -> 'a m -> 'a m
val get : global m
val set : global -> unit m
val modify : (global -> global) -> unit m
val run : global -> local -> 'a m -> ('a, exn) Stdlib.result
val run_exn : global -> local -> 'a m -> 'a
val throw : exn -> 'a m
val trap : 'a m -> ('a, exn) Stdlib.result m