sig
  type t = (int32, Bigarray.int32_elt, Bigarray.c_layout) Bigarray.Array1.t
  exception Malformed_code
  val validate : CamomileLibrary.Type.UCS4.t -> unit
  val get :
    CamomileLibrary.Type.UCS4.t -> int -> CamomileLibrary.Type.UChar.t
  val init :
    int ->
    (int -> CamomileLibrary.Type.UChar.t) -> CamomileLibrary.Type.UCS4.t
  val length : CamomileLibrary.Type.UCS4.t -> int
  type index = int
  val nth :
    CamomileLibrary.Type.UCS4.t -> int -> CamomileLibrary.Type.UCS4.index
  val first : CamomileLibrary.Type.UCS4.t -> CamomileLibrary.Type.UCS4.index
  val last : CamomileLibrary.Type.UCS4.t -> CamomileLibrary.Type.UCS4.index
  val look :
    CamomileLibrary.Type.UCS4.t ->
    CamomileLibrary.Type.UCS4.index -> CamomileLibrary.Type.UChar.t
  val out_of_range :
    CamomileLibrary.Type.UCS4.t -> CamomileLibrary.Type.UCS4.index -> bool
  val compare_index :
    CamomileLibrary.Type.UCS4.t ->
    CamomileLibrary.Type.UCS4.index -> CamomileLibrary.Type.UCS4.index -> int
  val next :
    CamomileLibrary.Type.UCS4.t ->
    CamomileLibrary.Type.UCS4.index -> CamomileLibrary.Type.UCS4.index
  val prev :
    CamomileLibrary.Type.UCS4.t ->
    CamomileLibrary.Type.UCS4.index -> CamomileLibrary.Type.UCS4.index
  val move :
    CamomileLibrary.Type.UCS4.t ->
    CamomileLibrary.Type.UCS4.index -> int -> CamomileLibrary.Type.UCS4.index
  val iter :
    (CamomileLibrary.Type.UChar.t -> unit) ->
    CamomileLibrary.Type.UCS4.t -> unit
  val compare :
    CamomileLibrary.Type.UCS4.t -> CamomileLibrary.Type.UCS4.t -> int
  module Buf :
    sig
      type buf
      val create : int -> CamomileLibrary.Type.UCS4.Buf.buf
      val contents :
        CamomileLibrary.Type.UCS4.Buf.buf -> CamomileLibrary.Type.UCS4.t
      val clear : CamomileLibrary.Type.UCS4.Buf.buf -> unit
      val reset : CamomileLibrary.Type.UCS4.Buf.buf -> unit
      val add_char :
        CamomileLibrary.Type.UCS4.Buf.buf ->
        CamomileLibrary.Type.UChar.t -> unit
      val add_string :
        CamomileLibrary.Type.UCS4.Buf.buf ->
        CamomileLibrary.Type.UCS4.t -> unit
      val add_buffer :
        CamomileLibrary.Type.UCS4.Buf.buf ->
        CamomileLibrary.Type.UCS4.Buf.buf -> unit
    end
end