sig
  type form = [ `NFC | `NFD | `NFKC | `NFKD ]
  type t
  type ret = [ `Await | `End | `Uchar of Stdlib.Uchar.t ]
  val create : [< Uunf.form ] -> Uunf.t
  val form : Uunf.t -> Uunf.form
  val add :
    Uunf.t -> [ `Await | `End | `Uchar of Stdlib.Uchar.t ] -> Uunf.ret
  val reset : Uunf.t -> unit
  val copy : Uunf.t -> Uunf.t
  val pp_ret : Stdlib.Format.formatter -> Uunf.ret -> unit
  val unicode_version : string
  val ccc : Stdlib.Uchar.t -> int
  val decomp : Stdlib.Uchar.t -> int array
  val d_uchar : int -> Stdlib.Uchar.t
  val d_compatibility : int -> bool
  val composite : Stdlib.Uchar.t -> Stdlib.Uchar.t -> Stdlib.Uchar.t option
end