Map.Make
является функтором, что означает, что он ожидает модуль в качестве аргумента, а не тип. Аргумент модуля должен соответствовать подписи OrderedType
:
module type OrderedType = {
type t
let compare : (t, t) => int
}
В вашем случае это будет что-то вроде:
module TuplesMap = Map.Make({
type t = (string, string)
let compare = (a, b) => ...
});
Тогда все, что вам нужно сделать, это реализовать функцию compare
.