diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.2.1.0 (2015-10-05) GHC 7.6 Support
+
+- No `Sym` or `SingObject` support
+
 # 0.2.0.0 (2015-09-29) No ListLike
 
 - Make `CollapsedList` use typeclasses in `base`
diff --git a/aeson-extra.cabal b/aeson-extra.cabal
--- a/aeson-extra.cabal
+++ b/aeson-extra.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           aeson-extra
-version:        0.2.0.0
+version:        0.2.1.0
 synopsis:       Extra goodies for aeson
 description:    The package motivation is twofold:
                 .
@@ -17,7 +17,7 @@
 maintainer:     Oleg Grenrus <oleg.grenrus@iki.fi>
 license:        BSD3
 license-file:   LICENSE
-tested-with:    GHC==7.8.4, GHC==7.10.2
+tested-with:    GHC==7.6.3, GHC==7.8.4, GHC==7.10.2
 build-type:     Simple
 cabal-version:  >= 1.10
 
@@ -34,7 +34,7 @@
       src
   ghc-options: -Wall
   build-depends:
-      base                     >=4.7  && <4.9
+      base                     >=4.6  && <4.9
     , aeson                    >=0.8  && <0.11
     , attoparsec               >=0.12 && <0.14
     , bytestring               >=0.10 && <0.11
@@ -42,6 +42,7 @@
     , exceptions               >=0.8  && <0.9
     , hashable                 >=1.2  && <1.3
     , scientific               >=0.3  && <0.4
+    , tagged                   >=0.7  && <0.9
     , text                     >=1.2  && <1.3
     , unordered-containers     >=0.2  && <0.3
     , vector                   >=0.10 && <0.12
@@ -57,7 +58,7 @@
       test
   ghc-options: -Wall
   build-depends:
-      base                     >=4.7  && <4.9
+      base                     >=4.6  && <4.9
     , aeson                    >=0.8  && <0.11
     , attoparsec               >=0.12 && <0.14
     , bytestring               >=0.10 && <0.11
@@ -65,6 +66,7 @@
     , exceptions               >=0.8  && <0.9
     , hashable                 >=1.2  && <1.3
     , scientific               >=0.3  && <0.4
+    , tagged                   >=0.7  && <0.9
     , text                     >=1.2  && <1.3
     , unordered-containers     >=0.2  && <0.3
     , vector                   >=0.10 && <0.12
diff --git a/src/Data/Aeson/Compat.hs b/src/Data/Aeson/Compat.hs
--- a/src/Data/Aeson/Compat.hs
+++ b/src/Data/Aeson/Compat.hs
@@ -59,7 +59,7 @@
 import           Data.Text as T
 import           Data.Typeable (Typeable)
 
--- | Exception thrown by 'throwDecode' - family of functions.
+-- | Exception thrown by 'decode' - family of functions in this module.
 newtype AesonException = AesonException String
   deriving (Show, Typeable)
 
diff --git a/src/Data/Aeson/Extra.hs b/src/Data/Aeson/Extra.hs
--- a/src/Data/Aeson/Extra.hs
+++ b/src/Data/Aeson/Extra.hs
@@ -25,12 +25,14 @@
   FromJSONMap(..),
   ToJSONKey(..),
   ToJSONMap(..),
+#if MIN_VERSION_base(4,7,0)
   -- * Symbol tag
   SymTag(..),
   -- * Singleton object
   SingObject(..),
   mkSingObject,
   getSingObject,
+#endif
   -- * CollapsedList
   CollapsedList(..),
   getCollapsedList,
@@ -52,11 +54,14 @@
 import qualified Data.HashMap.Strict as H
 import           Data.Hashable (Hashable)
 import qualified Data.Map as Map
-import           Data.Proxy
 import           Data.Text as T
 import qualified Data.Text.Lazy as TL
 import qualified Data.Text.Read as T
+
+#if MIN_VERSION_base(4,7,0)
+import           Data.Proxy
 import           GHC.TypeLits
+#endif
 
 -- | A wrapper type to parse arbitrary maps
 --
@@ -118,16 +123,19 @@
 instance (ToJSONMap m k v) => ToJSON (M m) where
   toJSON (M m) = Object (toJSONMap m)
 
+#if MIN_VERSION_base(4,7,0)
 -- | Singleton string encoded and decoded as ifself.
 --
 -- > λ> encode (SymTag :: SymTag "foobar")
 -- > "\"foobar\""
 --
 -- > decode "\"foobar\"" :: Maybe (SymTag "foobar")
--- > Just Sym
+-- > Just SymTag
 --
 -- > decode "\"foobar\"" :: Maybe (SymTag "barfoo")
 -- > Nothing
+--
+-- > /Available with: base >=4.7/
 data SymTag (s :: Symbol) = SymTag
   deriving (Eq, Ord, Show, Read, Enum, Bounded)
 
@@ -150,6 +158,8 @@
 --
 -- > λ > encode (SingObject 42 :: SingObject "value" Int)
 -- > "{\"value\":42}"
+--
+-- > /Available with: base >=4.7/
 newtype SingObject (s ::Symbol) a = SingObject a
   deriving (Eq, Ord, Show, Read, Functor, Foldable, Traversable)
 
@@ -160,7 +170,7 @@
 getSingObject _ (SingObject x) = x
 
 instance (KnownSymbol s, FromJSON a) => FromJSON (SingObject s a) where
-  parseJSON = withObject ("SingObject "<> show key) $ \obj -> 
+  parseJSON = withObject ("SingObject "<> show key) $ \obj ->
     SingObject <$> obj .: T.pack key
     where key = symbolVal (Proxy :: Proxy s)
 
@@ -171,6 +181,7 @@
 #endif
   toJSON (SingObject x) = object [T.pack key .= x]
     where key = symbolVal (Proxy :: Proxy s)
+#endif
 
 
 -- | Collapsed list, singleton is represented as the value itself in JSON encoding.
@@ -218,7 +229,7 @@
 -- | Parses possibly collapsed array value from the object's field.
 --
 -- > λ > newtype V = V [Int] deriving (Show)
--- > λ > instance FromJSON V where parseJSON = withObject "V" $ \obj -> V <$> collapsedList obj "value"
+-- > λ > instance FromJSON V where parseJSON = withObject "V" $ \obj -> V <$> parseCollapsedList obj "value"
 -- > λ > decode "{}" :: Maybe V
 -- > Just (V [])
 -- > λ > decode "{\"value\": null}" :: Maybe V
@@ -231,7 +242,7 @@
 parseCollapsedList obj key =
   case H.lookup key obj of
     Nothing   -> pure Control.Applicative.empty
-#if MIN_VERSION_aeson(0,10,0) 
+#if MIN_VERSION_aeson(0,10,0)
     Just v    -> modifyFailure addKeyName $ (getCollapsedList <$> parseJSON v) -- <?> Key key
   where
     addKeyName = (("failed to parse field " <> T.unpack key <> ": ") <>)
diff --git a/test/Tests.hs b/test/Tests.hs
--- a/test/Tests.hs
+++ b/test/Tests.hs
@@ -11,21 +11,26 @@
 import           Data.Aeson.Extra
 import qualified Data.HashMap.Lazy as H
 import           Data.Map (Map)
-import           Data.Proxy
 import           Data.Vector (Vector)
 import           Test.QuickCheck.Instances ()
 import           Test.Tasty
 import           Test.Tasty.HUnit
 import           Test.Tasty.QuickCheck
 
+#if MIN_VERSION_base(4,7,0)
+import           Data.Proxy
+#endif
+
 import           Orphans ()
 
 main :: IO ()
 main = defaultMain $ testGroup "Tests"
   [ dotColonMark
   , mTests
+#if MIN_VERSION_base(4,7,0)
   , symTests
   , singObjectTests
+#endif
   , collapsedListTests
   ]
 
@@ -47,6 +52,8 @@
   ]
   where result = M $ H.fromList [(1,1),(2,2)]
 
+#if MIN_VERSION_base(4,7,0)
+
 ------------------------------------------------------------------------------
 -- SymTag
 ------------------------------------------------------------------------------
@@ -78,6 +85,8 @@
           p = Proxy
       in prop
   ]
+
+#endif
 
 ------------------------------------------------------------------------------
 -- parseCollapsedList
