--- /dev/null
+type 'a t
+
+val create : (unit -> 'a option) -> 'a t
+
+val of_queue : 'a Queue.t -> 'a t
+
+val iter : 'a t -> f:('a -> unit) -> unit
+
+val bag_map : 'a t -> njobs:int -> f:('a -> 'b) -> ('a * 'b) t
+(** Parallel map with arbitrarily-reordered elements. *)
+
+val map : 'a t -> f:('a -> 'b) -> 'b t
+
+val filter : 'a t -> f:('a -> bool) -> 'a t
+
+val concat : ('a t) list -> 'a t
+
+val group_by : 'a t -> f:('a -> 'b) -> ('b * int * 'a list) t