Semaphore alternatives for structured concurrency

Thank you for the semaphore example.

I am already using it (replaced release by signal ) in a process pipeline and my channel actor no longer deadlocks! :joy:

Next, I am going to use it in a fan-in fan-out configuration to see how it goes.