+import Control.Exception ( mask_ )
+import Data.Typeable
+
+#include "Typeable.h"
+
+-- |A 'QSemN' is a quantity semaphore, in which the available
+-- \"quantity\" may be signalled or waited for in arbitrary amounts.
+newtype QSemN = QSemN (MVar (Int,[(Int,MVar ())])) deriving Eq