sig   type 'a seq   val empty : 'Odig.Private.Json.seq   val ( ++ ) :     'Odig.Private.Json.seq ->     'Odig.Private.Json.seq -> 'Odig.Private.Json.seq   type t   type mem   type el   val null : Odig.Private.Json.t   val bool : bool -> Odig.Private.Json.t   val int : int -> Odig.Private.Json.t   val str : string -> Odig.Private.Json.t   val el : Odig.Private.Json.t -> Odig.Private.Json.el Odig.Private.Json.seq   val el_if :     bool ->     (unit -> Odig.Private.Json.t) ->     Odig.Private.Json.el Odig.Private.Json.seq   val arr : Odig.Private.Json.el Odig.Private.Json.seq -> Odig.Private.Json.t   val mem :     string ->     Odig.Private.Json.t -> Odig.Private.Json.mem Odig.Private.Json.seq   val mem_if :     bool ->     string ->     (unit -> Odig.Private.Json.t) ->     Odig.Private.Json.mem Odig.Private.Json.seq   val obj :     Odig.Private.Json.mem Odig.Private.Json.seq -> Odig.Private.Json.t   val buffer_add : Buffer.t -> Odig.Private.Json.t -> unit   val to_string : Odig.Private.Json.t -> string   val output : Pervasives.out_channel -> Odig.Private.Json.t -> unit end