let sfold1 f e _entry _symbl psymb =
let rec fold accu (__strm : _ Stream.t) =
match try Some (psymb __strm)
with | Stream.Failure -> None
with
| Some a -> fold (f a accu) __strm
| _ -> accu
in
fun (__strm : _ Stream.t) ->
let a = psymb __strm
in
try fold (f a e) __strm
with | Stream.Failure -> raise (Stream.Error "")