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