Asynchronous_result.Stream
val fold : 'elt Lwt_stream.t -> f:('b -> 'elt -> ('b, 'error) t) -> init:'b -> ('b, 'error) t