`functor (Text : UnicodeString.Type) -> sig type text = Text.t type index = Text.index val compare : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> text -> text -> int val sort_key : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> text -> string val compare_with_key : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> string -> text -> int val search_with_key : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> string -> text -> index -> index * index val search : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> text -> text -> index -> index * index end`