diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+29 Jan 2014
+	Release 0.3.1.1
+	Work with newer GHC.TypeLits (SingI and similar were moved out)
+
 05 Nov 2013
 	Release 0.3.0.1
 	fix `cabal test'
diff --git a/Data/HList/Data.hs b/Data/HList/Data.hs
--- a/Data/HList/Data.hs
+++ b/Data/HList/Data.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 {- | 'Data.Data.Data' instances for 'HListFlat' and 'Record' which pretend
 to be flat data structures. The @Data@ instance for 'HList' gives a nested
diff --git a/Data/HList/Label6.hs b/Data/HList/Label6.hs
--- a/Data/HList/Label6.hs
+++ b/Data/HList/Label6.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {- |
    Description : labels using promoted strings (Symbol)
 
@@ -20,6 +21,11 @@
 import Data.HList.FakePrelude
 import GHC.TypeLits
 
+#if MIN_VERSION_base(4,7,0)
+instance KnownSymbol x => ShowLabel (x :: Symbol) where
+  showLabel _ =  symbolVal (proxy :: Proxy x)
+
+#else
 instance SingI x => ShowLabel (x :: Symbol) where
   showLabel _ =  fromSing (sing :: Sing x)
-
+#endif
diff --git a/Data/HList/obsolete/TIC.hs b/Data/HList/obsolete/TIC.hs
deleted file mode 100644
--- a/Data/HList/obsolete/TIC.hs
+++ /dev/null
@@ -1,69 +0,0 @@
-{-# LANGUAGE FlexibleInstances, FlexibleContexts #-}
-
-{- |
-   The HList library
-
-   (C) 2004, Oleg Kiselyov, Ralf Laemmel, Keean Schupke
-
-   Type-indexed co-products.
-
-   (There are other ways: see ConsUnion.hs, for example)
--}
-
-module Data.HList.TIC where
-
-import Data.Dynamic
-
-import Data.HList.HList
-import Data.HList.FakePrelude
-import Data.HList.HOccurs
-import Data.HList.TIP
-
-
--- --------------------------------------------------------------------------
--- | A datatype for type-indexed co-products
-
-newtype TIC l = TIC Dynamic
-
-
--- --------------------------------------------------------------------------
--- | Public constructor
-
-mkTIC :: ( HTypeIndexed l
-         , HTypeProxied l
-         , HOccurs' (Proxy i) l
-         , Typeable i
-         )
-      => i -> TIC l
-
-mkTIC i = TIC (toDyn i)
-
-
--- --------------------------------------------------------------------------
--- | Public destructor
-
-unTIC :: ( HTypeIndexed l
-         , HTypeProxied l
-         , HOccurs' (Proxy o) l
-         , Typeable o
-         )
-      => TIC l -> Maybe o
-
-unTIC (TIC i) = fromDynamic i
-
-
--- --------------------------------------------------------------------------
--- | A type-indexed type sequence that is a sequence of proxy types
-
-class HTypeProxied l
-instance HTypeProxied 'HNil
-instance HTypeProxied l => HTypeProxied ('HCons (Proxy e) l)
-
-
--- --------------------------------------------------------------------------
--- | TICs are opaque
-
-instance Show (TIC l)
- where
-  show _ = "<Cannot show TIC content!>"
-
diff --git a/HList.cabal b/HList.cabal
--- a/HList.cabal
+++ b/HList.cabal
@@ -1,5 +1,5 @@
 Name:                HList
-Version:             0.3.0.1
+Version:             0.3.1.0
 Category:            Data
 Synopsis:            Heterogeneous lists
 Description:         HList is a record system providing strongly typed heterogenous lists, records,
@@ -27,12 +27,9 @@
                      examples/*.out,
 
                      examples/broken/*.ref,
-                     examples/broken/*.out,
 
                      Data/HList/broken/*.hs,
-                     Data/HList/obsolete/*.hs,
-
-                     examples/Main.in
+                     Data/HList/obsolete/*.hs
 
 Source-Repository head
     type: darcs
diff --git a/examples/Main.in b/examples/Main.in
deleted file mode 100644
--- a/examples/Main.in
+++ /dev/null
@@ -1,1 +0,0 @@
-main
diff --git a/examples/broken/MainGhcGeneric3.out b/examples/broken/MainGhcGeneric3.out
deleted file mode 100644
--- a/examples/broken/MainGhcGeneric3.out
+++ /dev/null
diff --git a/examples/broken/MainGhcTTypeable.out b/examples/broken/MainGhcTTypeable.out
deleted file mode 100644
--- a/examples/broken/MainGhcTTypeable.out
+++ /dev/null
diff --git a/examples/broken/TypeEqBoolTTypeable.out b/examples/broken/TypeEqBoolTTypeable.out
deleted file mode 100644
--- a/examples/broken/TypeEqBoolTTypeable.out
+++ /dev/null
diff --git a/examples/broken/TypeEqExplosive.out b/examples/broken/TypeEqExplosive.out
deleted file mode 100644
--- a/examples/broken/TypeEqExplosive.out
+++ /dev/null
diff --git a/examples/broken/TypeEqTTypeable.out b/examples/broken/TypeEqTTypeable.out
deleted file mode 100644
--- a/examples/broken/TypeEqTTypeable.out
+++ /dev/null
diff --git a/examples/labelable2.hs b/examples/labelable2.hs
deleted file mode 100644
--- a/examples/labelable2.hs
+++ /dev/null
@@ -1,24 +0,0 @@
-{-# LANGUAGE FlexibleContexts, TemplateHaskell, DataKinds, PolyKinds #-}
-{- | Demonstrates @hLens'@
-
-may be worthwhile to have a lens-free test suite, doing stuff like:
-
-> case x (Identity  . (++"there")) r of Identity t -> t
-
--}
-module Main where
-import Data.HList.CommonMain
-import Control.Lens
-
-makeLabelable "x y"
-
-r = x .==. "hi" .*.
-    y .==. (y .==. 321 .*. x .==. 123 .*. emptyRecord) .*.
-    emptyRecord
-
-main = do
-    print (r ^. x)
-    print (r & x .~ ())
-
-    print (r ^. y . y)
-    print (r & y . y .~ "xy")
