Or_error.On_monad
On_monad
implements bi-traversal operators for a given monad M
.
Currently, this is no different to On(Monad_exts.App(M))
; this may change in the future.
include Travesty.Bi_traversable_types.Basic_generic_on_applicative
with type ('l, 'r) t := 'l t
with type 'l left := 'l
with type 'r right := right
with module M := Travesty.Monad_exts.App(M)
val bi_map_m :
'l1 t ->
left:('l1 -> 'l2 Travesty.Monad_exts.App(M).t) ->
right:(right -> right Travesty.Monad_exts.App(M).t) ->
'l2 t Travesty.Monad_exts.App(M).t
bi_map_m c ~left ~right
traverses with left
over every 'l1 left
, and right
over every 'r1 right
, in c
.
val map_left_m :
'l1 t ->
f:('l1 -> 'l2 Travesty.Monad_exts.App(M).t) ->
'l2 t Travesty.Monad_exts.App(M).t
map_left_m c ~f
monadically traverses over the left type of c
only, using f
.
val map_right_m :
'l t ->
f:(right -> right Travesty.Monad_exts.App(M).t) ->
'l t Travesty.Monad_exts.App(M).t
map_right_m c ~f
monadically traverses f
over the right type of c
only, using f
.