sig
type json =
[ `Assoc of (string * Kojson.json) list
| `Bool of bool
| `Float of float
| `Int of int
| `List of Kojson.json list
| `Null
| `String of string ]
type path = [ `Index of int | `Label of string ] list
val string_of_path : Kojson.path -> string
type expectation =
[ `either of (Kojson.path * Kojson.expectation) list
| `expecting_label of string
| `expecting_type of string
| `expecting_value of Kojson.json
| `expecting_values of Kojson.json list
| `not_expecting_labels of string list ]
exception Mismatch of Kojson.path * Kojson.expectation
val string_of_mismatch : Kojson.path * Kojson.expectation -> string
val default_warn : (Kojson.path -> string -> unit) Pervasives.ref
type jin = Kojson_private.jin
val jin_of_json :
?warn:(Kojson.path -> string -> unit) ->
?path:Kojson.path -> Kojson.json -> Kojson.jin
val jin_path : Kojson.jin -> Kojson.path
type jain = Kojson_private.jain
val jain_path : Kojson.jain -> Kojson.path
end