struct include Core.Std.Set let to_stream t = Stream.of_list (to_list t) let of_stream xs = Stream.fold xs ~init:Poly.empty ~f:(fun accu e -> Poly.add accu e) ; end