overgeneralized curried fns
问题 module MapHelpers (Ord : Map.OrderedType) = struct include Map.Make (Ord) let add_all a b = fold add a b end works but the seemingly equivalent module MapHelpers (Ord : Map.OrderedType) = struct include Map.Make (Ord) let add_all = fold add end fails to compile with File "Foo.ml", line 2, characters 18-104: Error: The type of this module, functor (Ord : Map.OrderedType) -> sig ... val add_all : '_a t -> '_a t -> '_a t end, contains type variables that cannot be generalized Command exited with