Module Relude_ReaderT.Reader
type t('r, 'a)
= WithMonad(Relude_Identity.Monad).t('r, 'a)
=
;|
ReaderT('r => Relude_Identity.Monad.t('a))
let make: ('r => Relude_Identity.Monad.t('a)) => t('r, 'a);
let runReaderT: 'r => t('r, 'a) => Relude_Identity.Monad.t('a);
let mapReaderT: (Relude_Identity.Monad.t('a) => Relude_Identity.Monad.t('b)) => t('r, 'a) => t('r, 'b);
let withReaderT: ('r2 => 'r1) => t('r1, 'a) => t('r2, 'a);
let ask: t('r, 'r);
let asks: ('r => 'a) => t('r, 'a);
let local: ('r => 'r) => t('r, 'a) => t('r, 'a);
let map: ('a => 'b) => t('r, 'a) => t('r, 'b);
let apply: t('r, 'a => 'b) => t('r, 'a) => t('r, 'b);
let pure: 'a => t('r, 'a);
let bind: t('r, 'a) => ('a => t('r, 'b)) => t('r, 'b);
let semiflatMap: ('a => Relude_Identity.Monad.t('b)) => t('r, 'a) => t('r, 'b);