Module type SetMap.Projection2

module type Projection2 = sig .. end

type elt_a 
type elt_b 
type elt_c 
type 'a map_a 
type 'a map_b 
type 'a map_c 
val proj2 : (elt_a -> elt_b) ->
(elt_a -> elt_c) ->
'b ->
('b -> 'a -> 'b) ->
'a map_a ->
'b map_c map_b
val proj2_monadic : 'parameters ->
'method_handler ->
(elt_a -> elt_b) ->
(elt_a -> elt_c) ->
'b ->
('parameters -> 'method_handler -> 'b -> 'a -> 'method_handler * 'b) ->
'a map_a ->
'method_handler * 'b map_c map_b