Module type Choice.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_LEFT

Minimal interface using contramap_fst and map_snd and left.

type ('a, 'b) t

The type held by the Choice Profunctor.

val contramap_fst : ('a -> 'b) -> ('b, 'c) t -> ('a, 'c) t

Contramapping over the first argument.

val map_snd : ('b -> 'c) -> ('a, 'b) t -> ('a, 'c) t

Mapping over the second argument.

val left : ('a, 'b) t -> (('a, 'c) Stdlib.Either.t, ('b, 'c) Stdlib.Either.t) t

Act on the left parameter of the sum.