sig
  type 'a tbl
  type 'a t = 'Main.Type.UCharTbl.tbl
  val get : 'Main.Type.UCharTbl.tbl -> Main.Type.UChar.t -> 'a
  module type Type =
    sig
      type elt
      type t = Main.Type.UCharTbl.Type.elt Main.Type.UCharTbl.tbl
      val get :
        Main.Type.UCharTbl.Type.elt Main.Type.UCharTbl.tbl ->
        Main.Type.UChar.t -> Main.Type.UCharTbl.Type.elt
      val of_map :
        Main.Type.UCharTbl.Type.elt ->
        Main.Type.UCharTbl.Type.elt Main.Type.UMap.t ->
        Main.Type.UCharTbl.Type.t
    end
  module Make :
    functor (H : Hashtbl.HashedType->
      sig
        type elt = H.t
        type t = elt tbl
        val get : elt tbl -> UChar.t -> elt
        val of_map : elt -> elt UMap.t -> t
      end
  module Bool :
    sig
      type t
      val get : Main.Type.UCharTbl.Bool.t -> Main.Type.UChar.t -> bool
      val of_set : Main.Type.USet.t -> Main.Type.UCharTbl.Bool.t
    end
  module Bits :
    sig
      type t
      val of_map : int -> int Main.Type.UMap.t -> Main.Type.UCharTbl.Bits.t
      val get : Main.Type.UCharTbl.Bits.t -> Main.Type.UChar.t -> int
    end
  module Bytes :
    sig
      type t
      val of_map : int -> int Main.Type.UMap.t -> Main.Type.UCharTbl.Bytes.t
      val get : Main.Type.UCharTbl.Bytes.t -> Main.Type.UChar.t -> int
    end
  module Char :
    sig
      type t
      val of_map : char -> char Main.Type.UMap.t -> Main.Type.UCharTbl.Char.t
      val get : Main.Type.UCharTbl.Char.t -> Main.Type.UChar.t -> char
    end
end