sig
  type a = bool
  val t : a t
  val write : Buffer.t -> a -> unit
  val read : Deriving_Json_lexer.lexbuf -> a
  val to_string : a -> string
  val from_string : string -> a
  val match_variant : [ `Cst of int | `NCst of int ] -> bool
  val read_variant :
    Deriving_Json_lexer.lexbuf -> [ `Cst of int | `NCst of int ] -> a
end