diff --git a/ixset.cabal b/ixset.cabal
--- a/ixset.cabal
+++ b/ixset.cabal
@@ -1,5 +1,5 @@
 Name:                ixset
-Version:             1.0.5
+Version:             1.0.6
 Synopsis:            Efficient relational queries on Haskell sets.
 Description:
     Create and query sets that are indexed by multiple indices.
@@ -15,7 +15,7 @@
 source-repository head
     type:     darcs
     subdir:   ixset
-    location: http://patch-tag.com/r/mae/happstack
+    location: http://hub.darcs.net/stepcut/happstack
 
 flag base4
 
diff --git a/src/Data/IxSet.hs b/src/Data/IxSet.hs
--- a/src/Data/IxSet.hs
+++ b/src/Data/IxSet.hs
@@ -50,7 +50,7 @@
 >
 > instance Indexable Entry where
 >     empty = ixSet [ ...
->                     ixFun getWords
+>                   , ixFun getWords
 >                   ]
 
 Now you can do this query to find entries with any of the words:
@@ -74,7 +74,7 @@
 > instance Indexable Entry where
 >     ...
 >     empty = ixSet [ ...
->                     ixFun getFirstAuthor
+>                   , ixFun getFirstAuthor
 >                   ]
 >
 >     entries @= (FirstAuthor "john@doe.com")  -- guess what this does
@@ -190,13 +190,16 @@
 data IxSet a = IxSet [Ix a]
     deriving (Data, Typeable)
 
--- | Create an 'IxSet' using a list of indexes. Useful in the 'Indexable'
--- 'empty' method. Use 'ixFun' and 'ixGen' as list elements.
+-- | Create an 'IxSet' using a list of indexes. Typically used to
+-- create the 'empty' method for an 'Indexable' instance.
 --
+-- The list elements are generally created by using the 'ixFun' and
+-- 'ixGen' helper functions.
+--
 -- > instance Indexable Type where
 -- >     empty = ixSet [ ...
--- >                     ixFun getIndex1
--- >                     ixGen (Proxy :: Proxy Index2Type)
+-- >                   , ixFun getIndex1
+-- >                   , ixGen (Proxy :: Proxy Index2Type)
 -- >                   ]
 --
 -- Every value in the 'IxSet' must be reachable by the first index in this
@@ -255,6 +258,7 @@
          , SYBWC.Data ctx [a]
          , SYBWC.Sat (ctx (IxSet a))
          , SYBWC.Sat (ctx [a])
+         , SYBWC.Typeable1 IxSet
          , Indexable a
          , Data a
          , Ord a
diff --git a/src/Data/IxSet/Ix.hs b/src/Data/IxSet/Ix.hs
--- a/src/Data/IxSet/Ix.hs
+++ b/src/Data/IxSet/Ix.hs
@@ -52,7 +52,7 @@
 ixDataType :: SYBWC.DataType
 ixDataType = SYBWC.mkDataType "Ix" [ixConstr]
 
-instance (SYBWC.Data ctx a, SYBWC.Sat (ctx (Ix a)))
+instance (SYBWC.Typeable1 Ix, SYBWC.Data ctx a, SYBWC.Sat (ctx (Ix a)))
        => SYBWC.Data ctx (Ix a) where
     gfoldl = error "gfoldl Ix"
     toConstr _ (Ix _ _)    = ixConstr
