struct include Core.Std.List let to_stream = Stream.of_list let of_stream strm = strm |! Stream.fold ~init:[] ~f:(fun l a -> a::l) |! List.rev end