diff --git a/linearscan-hoopl.cabal b/linearscan-hoopl.cabal
--- a/linearscan-hoopl.cabal
+++ b/linearscan-hoopl.cabal
@@ -1,5 +1,5 @@
 name:          linearscan-hoopl
-version:       0.10.1
+version:       0.10.2
 synopsis:      Makes it easy to use the linearscan register allocator with Hoopl
 homepage:      http://github.com/jwiegley/linearscan-hoopl
 license:       BSD3
@@ -19,6 +19,10 @@
   that compile into Hoople program graphs.  See the tests for a concrete
   example.
 
+Source-repository head
+  type:     git
+  location: https://github.com/jwiegley/linearscan-hoopl
+
 library
   default-language: Haskell2010
   exposed-modules:
@@ -36,7 +40,7 @@
 test-suite test
   default-language: Haskell2010
   type:             exitcode-stdio-1.0
-  ghc-options:      -Wall -fno-warn-deprecated-flags
+  ghc-options:      -Wall -fno-warn-deprecated-flags -threaded
   hs-source-dirs:   test
   main-is:          Main.hs
   other-modules:    
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -24,6 +24,8 @@
 import Programs.Overlapped
 import Programs.Reservation
 import Programs.Reservation2
+import Programs.Reservation3
+import Programs.Reservation4
 import Programs.Residency
 import Programs.Residency2
 import Programs.Residency3
@@ -38,7 +40,7 @@
 --   expected outputs.
 
 main :: IO ()
-main = hspec $ do
+main = hspec $ parallel $ do
   describe "Sanity tests" sanityTests
   describe "Spill tests" spillTests
   describe "Block tests" blockTests
@@ -68,6 +70,8 @@
     it "Handles edge-case assignment scenario 1"   $ runTest assignment
     it "Handles edge-case reservation scenario 1"  $ runTest reservation
     it "Handles edge-case reservation scenario 2"  $ runTest reservation2
+    it "Handles edge-case reservation scenario 3"  $ runTest reservation3
+    it "Handles edge-case reservation scenario 4"  $ runTest reservation4
     it "Handles edge-case residency scenario 1"    $ runTest residency
     it "Handles edge-case residency scenario 2"    $ runTest residency2
     it "Handles edge-case residency scenario 3"    $ runTest residency3
@@ -76,7 +80,16 @@
     it "Register over-allocation edge-case"        $ runTest overlapped
     it "Restoration after a graph edge split"      $ runTest restoration
 
-  describe "Generated tests" generatedTests
+  describe "Generated tests 0" generatedTests
+  describe "Generated tests 1" generatedTests
+  describe "Generated tests 2" generatedTests
+  describe "Generated tests 3" generatedTests
+  describe "Generated tests 4" generatedTests
+  describe "Generated tests 5" generatedTests
+  describe "Generated tests 6" generatedTests
+  describe "Generated tests 7" generatedTests
+  describe "Generated tests 8" generatedTests
+  describe "Generated tests 9" generatedTests
 
 sanityTests :: SpecWith ()
 sanityTests = do
