I must've accidentally deleted part of my email before hitting send. The point was to make the first code sample compile after removing the commented line. But that is not allowed; I get a syntax error:
The following code compiles correctly:----- a.ml -----open Batteriesmodule Ord = struct type t=string let compare=compare endmodule type S = siginclude module type of Map.Make(Ord)(* include module type of Map.Make(Ord).Labels *)end-----An easy workaround is to name the functor's result:----- a.ml -----open Batteriesmodule Ord = struct type t=string let compare=compare endmodule M = Map.Make(Ord)module type S = siginclude module type of Minclude module type of M.Labelsend-----The above compiles correctly, but is this the best/only solution?