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