pub fn new_work_pool<Alloc: BrotliAlloc + Send + 'static, SliceW: SliceWrapper<u8> + Send + 'static + Sync>(
    num_threads: usize
) -> WorkerPool<CompressionThreadResult<Alloc>, UnionHasher<Alloc>, Alloc, (SliceW, BrotliEncoderParams)> where
    <Alloc as Allocator<u8>>::AllocatedMemory: Send + 'static,
    <Alloc as Allocator<u16>>::AllocatedMemory: Send + Sync,
    <Alloc as Allocator<u32>>::AllocatedMemory: Send + Sync