functor (Text : UnicodeString.Type->
  sig
    type text = Text.t
    val decode : t -> string -> text
    val encode : t -> text -> string
  end