The base package (version 3.0.3.1) code for Control.Concurrent.QSem and QSemN is not exception safe.
This page is for holding proposed replacement code.