new :: IO Lock
new = Lock <$> newMVar () <*> newMVar (Conditions 0 V.empty)
new :: IO Lock
new = Lock <$> newMVar () <*> newMVar (Conditions 0 V.empty)
new = Lock <$> newMVar () <*> newMVar (Conditions 0 V.empty)