type 's f = {
f : a. key:'a Key.t -> [ `Left of ('s, 'a) Input1_data.t | `Right of ('s, 'a) Input2_data.t | `Both of ('s, 'a) Input1_data.t * ('s, 'a) Input2_data.t ] -> ('s, 'a) Output_data.t Base.Option.t;
}
val merge : 's Make1(Key)(Input1_data).t -> 's Make1(Key)(Input2_data).t -> f:'s f -> 's Make1(Key)(Output_data).t
The analogue of the normal
Map.merge
function.