type value = | Int of int |
| Float of float |
| String of string |
| List of value_list |
and value_list = (string * value) listmodule Parse : functor (B : Builder.S) -> functor (L : sig ... end) -> sig ... endmodule type G = sig ... endmodule Print : functor (G : G) -> functor (L : sig ... end) -> sig ... end