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