sig
  val fold :
    f:('->
       int -> [> `Malformed of string | `Uchar of Stdlib.Uchar.t ] -> 'a) ->
    '-> string -> 'a
end