Map_array.Pure
type (!'r, !'a) cont = {
cont : 'b. ('a -> 'r -> unit -> 'b Dagger.Internal.Identity_monad.t) ->
'r ->
unit ->
'b Dagger.Internal.Identity_monad.t;
}
type (!'r, 'a) m =
handler:'r handler ->
('r, 'a Dagger.Internal.Identity_monad.t) cont
and !'r handler = {
handler : 'a 'b. 'a Dagger__Cps_monad.effect ->
('a Dagger.Internal.Identity_monad.t ->
'r ->
unit ->
'b Dagger.Internal.Identity_monad.t) ->
'r ->
unit ->
'b Dagger.Internal.Identity_monad.t;
}
val return : 'a -> ('r, 'a) m
val if_ :
(handler:'a -> ('b, bool Dagger.Internal.Identity_monad.t) cont) ->
(bool -> handler:'a -> ('b, 'c) cont) ->
handler:'a ->
('b, 'c) cont
val handle :
'a Dagger__Cps_monad.effect ->
handler:'b handler ->
('b, 'a Dagger.Internal.Identity_monad.t) cont
module Infix : sig ... end