sig
  type t
  exception Bad_char
  val of_char : char -> U_char.t
  val of_int : int -> U_char.t
  val to_int : U_char.t -> int
  val of_int32 : int32 -> U_char.t
  val is_char : U_char.t -> bool
  val is_space : U_char.t -> bool
  val is_digit : U_char.t -> bool
  val is_basechar : U_char.t -> bool
  val is_ideographic : U_char.t -> bool
  val is_letter : U_char.t -> bool
  val is_combiningchar : U_char.t -> bool
  val is_extender : U_char.t -> bool
  val is_namechar : U_char.t -> bool
  val is_ncnamechar : U_char.t -> bool
end