let remove_idle_worker worker state =
let found, idle_workers =
List.fold_left
(fun (found, lst) worker' ->
if worker' == worker then
true, lst
else
found, worker' :: lst)
(false, [])
state.idle_workers
in
if not found then
raise Not_found;
{state with idle_workers = idle_workers}