sig   type json_data_type = Object | Array | Scalar   val json_data_type_to_string : GapiJson.json_data_type -> string   type json_metadata = {     name : string;     data_type : GapiJson.json_data_type;   }   val metadata_description : GapiJson.json_metadata -> string   type json_data_model =       (GapiJson.json_metadata, Yojson.Safe.json) GapiCore.AnnotatedTree.t   val unexpected : string -> GapiJson.json_data_model -> '-> 'a   val render_value :     string ->     Yojson.Safe.json -> Yojson.Safe.json -> GapiJson.json_data_model list   val render_string_value :     ?default:string -> string -> string -> GapiJson.json_data_model list   val render_nullable_string_value :     ?default:string -> string -> string -> GapiJson.json_data_model list   val render_int_value :     ?default:int -> string -> int -> GapiJson.json_data_model list   val render_int64_value :     ?default:int64 -> string -> int64 -> GapiJson.json_data_model list   val render_bool_value :     ?default:bool -> string -> bool -> GapiJson.json_data_model list   val render_float_value :     ?default:float -> string -> float -> GapiJson.json_data_model list   val render_date_value :     ?time:bool ->     ?default:GapiDate.t ->     string -> GapiDate.t -> GapiJson.json_data_model list   val render_struct :     string ->     GapiJson.json_data_type ->     GapiJson.json_data_model list list -> GapiJson.json_data_model list   val render_object :     string ->     GapiJson.json_data_model list list -> GapiJson.json_data_model list   val render_collection :     string ->     GapiJson.json_data_type ->     ('-> GapiJson.json_data_model list) ->     'a list -> GapiJson.json_data_model list   val render_array :     string ->     ('-> GapiJson.json_data_model list) ->     'a list -> GapiJson.json_data_model list   val render_root :     ('-> GapiJson.json_data_model list) -> '-> GapiJson.json_data_model   val parse_children :     ('-> GapiJson.json_data_model -> 'a) ->     '-> ('-> 'b) -> GapiJson.json_data_model list -> 'b   val parse_collection :     ('-> GapiJson.json_data_model -> 'a) ->     '-> ('a list -> 'b) -> GapiJson.json_data_model list -> 'b   val parse_root :     ('-> GapiJson.json_data_model -> 'a) ->     '-> GapiJson.json_data_model -> 'a   val parse_string_element : string -> GapiJson.json_data_model -> string   val parse_dictionary_entry :     string * string -> GapiJson.json_data_model -> string * string   val json_to_data_model : Yojson.Safe.json -> GapiJson.json_data_model   val data_model_to_json : GapiJson.json_data_model -> Yojson.Safe.json   val parse_json_response :     (GapiJson.json_data_model -> 'a) -> GapiPipe.OcamlnetPipe.t -> 'a   val parse_json_string : (GapiJson.json_data_model -> 'a) -> string -> 'a   val default_content_type : string   val render_json :     ('-> GapiJson.json_data_model) -> '-> GapiCore.PostData.t   module StringDictionary :     sig       type t = (string * string) list       val empty : GapiJson.StringDictionary.t       val render :         GapiJson.StringDictionary.t -> GapiJson.json_data_model list       val render_content :         GapiJson.StringDictionary.t -> GapiJson.json_data_model list list       val parse :         GapiJson.StringDictionary.t ->         GapiJson.json_data_model -> GapiJson.StringDictionary.t       val to_data_model :         GapiJson.StringDictionary.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiJson.StringDictionary.t     end end