Control.Concurrent.SSem
data SSem
new
withSem
wait
signal
tryWait
withSemN
waitN
signalN
tryWaitN
getValue