`sig
val make_table :
(string * Json_type.t) list -> (string, Json_type.t) Hashtbl.t
val field : (string, Json_type.t) Hashtbl.t -> string -> Json_type.t
val fieldx : (string, Json_type.t) Hashtbl.t -> string -> Json_type.t
val optfield :
(string, Json_type.t) Hashtbl.t -> string -> Json_type.t option
val optfieldx :
(string, Json_type.t) Hashtbl.t -> string -> Json_type.t option
val describe : Json_type.t -> string
val type_mismatch : string -> Json_type.t -> 'a
val is_null : Json_type.t -> bool
val is_defined : Json_type.t -> bool
val null : Json_type.t -> unit
val string : Json_type.t -> string
val bool : Json_type.t -> bool
val number : Json_type.t -> float
val int : Json_type.t -> int
val float : Json_type.t -> float
val array : Json_type.t -> Json_type.t list
val objekt : Json_type.t -> (string * Json_type.t) list
val list : (Json_type.t -> 'a) -> Json_type.t -> 'a list
val option : Json_type.t -> Json_type.t option
val optional : (Json_type.t -> 'a) -> Json_type.t -> 'a option
val assert_object_or_array : Json_type.t -> unit
end`