probably not a good idea to poke in to the internals for ThreadPoolExecute to get _max_workers. the executor could be an alternate implementation that doesn't have _max_workers as well.