sig   type variable_option =       [ `Blanked | `Non_ignorable | `Shift_Trimmed | `Shifted ]   type precision = [ `Primary | `Quaternary | `Secondary | `Tertiary ]   module type Type = UCol.Type   module Make :     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 end