Я не уверен, что следующее лучший способ сделать это, но, тем не менее, это может быть полезно:
Вы можете использовать List.to_seq и Map.of_seq :
module M = Map.Make(struct type t = int let compare = compare end)
let m = [(1,"A"); (2,"B"); (3,"C")] |> List.to_seq |> M.of_seq
С уменьшением это может быть что-то вроде этого:
let m = List.fold_left (fun m (k,v) -> M.add k v m) M.empty [(1,"A"); (2,"B"); (3,"C")]