module type FLOW = sig ... endmodule type G_GOLDBERG_TARJAN = sig ... endmodule Goldberg_Tarjan : functor (G : G_GOLDBERG_TARJAN) -> functor (F : sig ... end) -> sig ... endmodule type G_FORD_FULKERSON = sig ... endmodule type FLOWMIN = sig ... endmodule Ford_Fulkerson : functor (G : G_FORD_FULKERSON) -> functor (F : sig ... end) -> sig ... end