Stick the semaphore in the Worker monad