functor (C : Computation) -> sig type input = C.input type output = C.output val compute : ThreadPoolExecutor.t -> input Stream.t -> output -> output end