diff --git a/HStringTemplate.cabal b/HStringTemplate.cabal
--- a/HStringTemplate.cabal
+++ b/HStringTemplate.cabal
@@ -1,5 +1,5 @@
 name:                HStringTemplate
-version:             0.7.1
+version:             0.7.3
 synopsis:            StringTemplate implementation in Haskell.
 description:         A port of the Java library by Terrence Parr.
 category:            Text
@@ -12,26 +12,17 @@
 build-Depends:       base
 Cabal-Version:       >= 1.6
 
-flag syb-with-class
-   default: False
-flag quasi-quotation
 
 library
-  if flag(syb-with-class)
-    build-depends:   syb-with-class
-    exposed-modules: Text.StringTemplate.GenericWithClass
 
-  if flag(quasi-quotation)
-    build-depends: template-haskell >= 2.3, mtl
-    exposed-modules: Text.StringTemplate.QQ
-
   build-depends:   syb, base >= 4, base < 5, filepath, parsec < 4, containers, pretty >= 1.1.0.0,
-                   time, old-time, old-locale, bytestring, directory, array, text, deepseq, utf8-string, blaze-builder, void
+                   time, old-time, old-locale, bytestring, directory, array, text, deepseq, utf8-string, blaze-builder, void, template-haskell >= 2.3, mtl
 
   exposed-modules:   Text.StringTemplate
                      Text.StringTemplate.Base
                      Text.StringTemplate.Classes
                      Text.StringTemplate.GenericStandard
+                     Text.StringTemplate.QQ
   other-modules:     Text.StringTemplate.Instances
                      Text.StringTemplate.Group
                      Text.StringTemplate.Renderf
diff --git a/Text/StringTemplate/GenericWithClass.hs b/Text/StringTemplate/GenericWithClass.hs
deleted file mode 100644
--- a/Text/StringTemplate/GenericWithClass.hs
+++ /dev/null
@@ -1,40 +0,0 @@
-{-# LANGUAGE FlexibleInstances, OverlappingInstances, FlexibleContexts, UndecidableInstances, Rank2Types #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
---------------------------------------------------------------------
--- | Generic Instance for ToSElem using syb-with-class.
---   Inspired heavily-to-entirely by Alex Drummond's RJson.
---------------------------------------------------------------------}
-
-module Text.StringTemplate.GenericWithClass() where
-import qualified Data.Map as M
-import Text.StringTemplate.Classes
-import Data.Generics.SYB.WithClass.Basics
-
-stripInitialUnderscores :: String -> String
-stripInitialUnderscores ('_':s) = stripInitialUnderscores s
-stripInitialUnderscores s       = s
-
-data ToSElemD a = ToSElemD { toSElemD :: Stringable b => a -> SElem b }
-
-toSElemProxy :: Proxy ToSElemD
-toSElemProxy = error "This value should never be evaluated!"
-
-instance (ToSElem a, Data ToSElemD a) => Sat (ToSElemD a) where
-   dict = ToSElemD { toSElemD = toSElem }
-
-genericToSElem :: (Data ToSElemD a, ToSElem a, Stringable b) => a -> SElem b
-genericToSElem x
-       | isAlgType (dataTypeOf toSElemProxy x) =
-           case (map stripInitialUnderscores (getFields x)) of
-             [] -> LI (STR (showConstr (toConstr toSElemProxy x)) :
-                           gmapQ toSElemProxy (toSElemD dict) x)
-             fs -> SM (M.fromList (zip fs (gmapQ toSElemProxy (toSElemD dict) x)))
-       | True =
-               error ("Unable to serialize the primitive type '" ++
-                      dataTypeName (dataTypeOf toSElemProxy x) ++ "'")
-
-getFields :: Data ToSElemD a => a -> [String]
-getFields = constrFields . toConstr toSElemProxy
-
-instance Data ToSElemD t => ToSElem t where
-   toSElem = genericToSElem
