diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # CHANGELOG
 
+## 1.0.0
+### Changed
+* type family `Contains` renamed to `HGetable` to not clash names with
+  lens
+
 ## 0.1.2
 ### Added
 * Facepalm `Applicative` constraint
diff --git a/hset.cabal b/hset.cabal
--- a/hset.cabal
+++ b/hset.cabal
@@ -1,5 +1,5 @@
 name:                hset
-version:             0.1.2
+version:             1.0.0
 synopsis:            Primitive heterogenous read-only set
 license:             BSD3
 license-file:        LICENSE
diff --git a/src/Data/HSet.hs b/src/Data/HSet.hs
--- a/src/Data/HSet.hs
+++ b/src/Data/HSet.hs
@@ -1,7 +1,7 @@
 module Data.HSet
        ( HSet(..)
        , HGet(..)
-       , Contains
+       , HGetable
        , hask
          -- * Work with 'Labeled' elements
        , hgetLabeled
@@ -75,9 +75,9 @@
 
 -- | Helper typefamily to derive that second argument contained in
 -- list of first argument and we can perform 'hget' from set.
-type Contains els e = HGet els e (Index e els)
+type HGetable els e = HGet els e (Index e els)
 
-hask :: (MonadReader (HSet els) m, Contains els e) => m e
+hask :: (MonadReader (HSet els) m, HGetable els e) => m e
 hask = do
   h <- ask
   return $ hget h
@@ -97,7 +97,7 @@
 -}
 
 hgetLabeled :: forall proxy label e els.
-            (Contains els (Labeled label e))
+            (HGetable els (Labeled label e))
             => proxy label -> HSet els -> e
 hgetLabeled _ hset =
   let x = hget hset
@@ -105,9 +105,9 @@
 
 haskLabeled :: forall proxy label e els m.
 #if MIN_VERSION_base(4, 8, 0)
-            (Contains els (Labeled label e), MonadReader (HSet els) m)
+            (HGetable els (Labeled label e), MonadReader (HSet els) m)
 #else
-            (Contains els (Labeled label e), MonadReader (HSet els) m, Applicative m)
+            (HGetable els (Labeled label e), MonadReader (HSet els) m, Applicative m)
 #endif
             => proxy label -> m e
 haskLabeled p = hgetLabeled p <$> ask
