functor (C : Config) ->
functor (E : Enumerable) ->
sig
type elt = E.elt
type collection = E.t
type ('a, 'b) t = {
register : (elt, 'a) worker Join.chan;
register_interruptible :
((elt, 'a) interruptible_worker * kill) Join.chan;
fold : collection -> ('a -> 'b -> 'b) -> 'b -> 'b;
}
val create : unit -> ('a, 'b) t
end