module UCol: sig .. end
Unicode collation algorithm
String comparison by collation as described in UTR #10
type [ `Blanked | `Non_ignorable | `Shift_Trimmed | `Shifted ] 
How variables are handled
type [ `Primary | `Quaternary | `Secondary | `Tertiary ] 
Strength of comparison.  For European languages, each strength
    roughly means as
    `Primary : Ignore accents and case
    `Secondary : Ignore case but accents are counted in.
    `Tertiary : Accents and case are counted in.
    For the case of `Shifted, `Shift_Trimmed, there is the fourth strength.
    `Quaternary : Variables such as - (hyphen) are counted in.
module type Type = sig .. end
module Make: