I think we should just call this `semaphore()`