Univ_map.Merge1
module Input1_data : sig ... end
module Input2_data : sig ... end
module Output_data : sig ... end
type ('s1, 's2, 's3) f = {
f : 'a. key:'a Key.t ->
[ `Left of ('s1, 'a) Input1_data.t
| `Right of ('s2, 'a) Input2_data.t
| `Both of ('s1, 'a) Input1_data.t * ('s2, 'a) Input2_data.t ] ->
('s3, 'a) Output_data.t Base.option;
}
val merge :
's1 Make1(Key)(Input1_data).t ->
's2 Make1(Key)(Input2_data).t ->
f:('s1, 's2, 's3) f ->
's3 Make1(Key)(Output_data).t
The analogue of the normal Map.merge
function.