sig
  module type Type =
    sig
      type text
      val lowercase :
        ?locale:string -> CaseMap.Type.text -> CaseMap.Type.text
      val uppercase :
        ?locale:string -> CaseMap.Type.text -> CaseMap.Type.text
      val titlecase :
        ?locale:string -> CaseMap.Type.text -> CaseMap.Type.text
      val casefolding : CaseMap.Type.text -> CaseMap.Type.text
      val compare_caseless : CaseMap.Type.text -> CaseMap.Type.text -> int
    end
  module Make :
    functor (Text : UnicodeString.Type->
      sig
        type text = Text.t
        val lowercase : ?locale:string -> text -> text
        val uppercase : ?locale:string -> text -> text
        val titlecase : ?locale:string -> text -> text
        val casefolding : text -> text
        val compare_caseless : text -> text -> int
      end
end