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