diff --git a/Web/Routes/Quasi/TH.hs b/Web/Routes/Quasi/TH.hs
--- a/Web/Routes/Quasi/TH.hs
+++ b/Web/Routes/Quasi/TH.hs
@@ -103,9 +103,10 @@
         let ps' = zip [1..] ps
         let pat = ConP (mkName n) $ mapMaybe go' ps'
         bod <- mkBod ps'
-        return $ Clause [pat] (NormalB bod) []
+        return $ Clause [pat] (NormalB $ TupE [bod, ListE []]) []
     go (n, SubSite{ssRender = r, ssPieces = pieces}) = do
-        let cons a b = InfixE (Just a) (ConE $ mkName ":") (Just b)
+        cons' <- [|\a (b, c) -> (a : b, c)|]
+        let cons a b = cons' `AppE` a `AppE` b
         x <- newName "x"
         let r' = r `AppE` VarE x
         let pat = ConP (mkName n) [VarP x]
diff --git a/web-routes-quasi.cabal b/web-routes-quasi.cabal
--- a/web-routes-quasi.cabal
+++ b/web-routes-quasi.cabal
@@ -1,5 +1,5 @@
 name:            web-routes-quasi
-version:         0.5.0
+version:         0.6.0
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -16,9 +16,7 @@
   default: False
 
 library
-    build-depends:   base >= 4 && < 5,
-                     web-routes >= 0.22 && < 0.23,
-                     template-haskell >= 2.4 && < 2.5
+    build-depends:   base >= 4 && < 5, template-haskell >= 2.4 && < 2.5
     exposed-modules: Web.Routes.Quasi
                      Web.Routes.Quasi.Classes
                      Web.Routes.Quasi.Parse
