sig
  val literal : Kojson.json -> Kojson.jin -> unit
  val convert : string -> (Kojson.json -> 'a) -> Kojson.jin -> 'a
  val any : Kojson.jin -> Kojson.json
  val null : Kojson.jin -> unit
  val bool : Kojson.jin -> bool
  val int : Kojson.jin -> int
  val float : Kojson.jin -> float
  val string : Kojson.jin -> string
  val string_enum : (string * 'a) list -> Kojson.jin -> 'a
  val list : (Kojson.jin -> 'a) -> Kojson.jin -> 'a list
  val array : (Kojson.jin -> 'a) -> Kojson.jin -> 'a array
  val assoc : (Kojson.jain -> 'a) -> Kojson.jin -> 'a
  val assoc_or_null : (Kojson.jain -> 'a) -> Kojson.jin -> 'a
  val first : (Kojson.jin -> 'a) list -> Kojson.jin -> 'a
end