sig
  type json =
      String of string
    | Num of int
    | Float of float
    | Bool of bool
    | Null
    | Array of Restful.Json.json list
    | Object of (string * Restful.Json.json) list
  val string : string -> Restful.Json.json
  val num : int -> Restful.Json.json
  val float : float -> Restful.Json.json
  val bool : bool -> Restful.Json.json
  val null : '-> Restful.Json.json
  val array : ('-> Restful.Json.json) -> 'a list -> Restful.Json.json
  val obj :
    ('-> Restful.Json.json) -> (string * 'a) list -> Restful.Json.json
  val of_option : ('-> Restful.Json.json) -> 'a option -> Restful.Json.json
  val to_string : ?minify:bool -> Restful.Json.json -> string
  val callback : ?minify:bool -> string -> Restful.Json.json -> string
  val valid_id : string -> bool
  val content_type : string
  val json_of_jsonm :
    ([< `A of 'a list
      | `Bool of bool
      | `Float of float
      | `Null
      | `O of (string * 'a) list
      | `String of string ]
     as 'a) ->
    Restful.Json.json
end