sig
  val encoding_guess : string -> [ `UTF_16BE | `UTF_16LE | `UTF_8 ] * bool
  type 'a folder =
      '-> int -> [ `Malformed of string | `Uchar of Uutf.uchar ] -> 'a
  val fold_utf_8 : 'Uutf.String.folder -> '-> string -> 'a
  val fold_utf_16be : 'Uutf.String.folder -> '-> string -> 'a
  val fold_utf_16le : 'Uutf.String.folder -> '-> string -> 'a
end