Tuple2.On_monadSourceOn_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.
module M : Base.Monad.Sinclude Travesty.Bi_traversable_types.Basic_generic_on_applicative
with type ('l, 'r) t := ('l, 'r) t
with type 'l left := 'l
with type 'r right := 'r
with module M := Travesty.Monad_exts.App(M)include Travesty.Generic_types.Bi_generic
with type ('l, 'r) t := ('l, 'r) t
with type 'l left := 'l
with type 'r right := 'rval bi_map_m :
('l1, 'r1) t ->
left:('l1 -> 'l2 Travesty.Monad_exts.App(M).t) ->
right:('r1 -> 'r2 Travesty.Monad_exts.App(M).t) ->
('l2, 'r2) t Travesty.Monad_exts.App(M).tbi_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, 'r) t ->
f:('l1 -> 'l2 Travesty.Monad_exts.App(M).t) ->
('l2, 'r) t Travesty.Monad_exts.App(M).tmap_left_m c ~f monadically traverses over the left type of c only, using f.
val map_right_m :
('l, 'r1) t ->
f:('r1 -> 'r2 Travesty.Monad_exts.App(M).t) ->
('l, 'r2) t Travesty.Monad_exts.App(M).tmap_right_m c ~f monadically traverses f over the right type of c only, using f.