sig
  type t
  exception Out_of_range
  val char_of : UChar.t -> char
  val of_char : char -> UChar.t
  val code : UChar.t -> int
  val chr : int -> UChar.t
  external uint_code : UChar.t -> int = "%identity"
  val chr_of_uint : int -> UChar.t
  val eq : UChar.t -> UChar.t -> bool
  val compare : UChar.t -> UChar.t -> int
  type uchar = UChar.t
  val int_of : UChar.uchar -> int
  val of_int : int -> UChar.uchar
end