sig   type t =       Null     | True     | False     | String of string     | Number of string     | Int of int     | Float of float     | Array of Json.t list     | Assoc of (string * Json.t) list   val equal : Json.t -> Json.t -> bool   val compare : Json.t -> Json.t -> int   val pp : Format.formatter -> Json.t -> unit   exception Error of string * int * string   val of_bool : bool -> Json.t   val of_int : int -> Json.t   val of_float : float -> Json.t   val of_list : Json.t list -> Json.t   val of_array : Json.t array -> Json.t   val of_fields : (string * Json.t) list -> Json.t   val of_lexbuf : Lexing.lexbuf -> Json.t   val of_channel : Pervasives.in_channel -> Json.t   val of_string : string -> Json.t   val of_file : string -> Json.t   val to_string : ?pretty:bool -> Json.t -> string   val to_buffer : ?pretty:bool -> Buffer.t -> Json.t -> unit   val to_channel : ?pretty:bool -> Pervasives.out_channel -> Json.t -> unit   val to_file : ?pretty:bool -> string -> Json.t -> unit   val bool : Json.t -> bool   val int : Json.t -> int   val string : Json.t -> string   val float : Json.t -> float   val array : Json.t -> Json.t array   val list : Json.t -> Json.t list   val fold : (string -> Json.t -> '-> 'a) -> Json.t -> '-> 'a   val field : string -> Json.t -> Json.t end