Module Univ_map.Merge1

Parameters

module Key : Key
module Input1_data : sig ... end
module Input2_data : sig ... end
module Output_data : sig ... end

Signature

type ('s1, 's2, 's3) f = {
  1. 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.