diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for composite-lens-extra
 
+## v0.1.0.0
+
+* Remove `(:!:)` and `rlens'` which are now in composite-base.
+
 ## v0.0.1.0
 
 * Add `(:!:)` pattern for contravariant base functors.
diff --git a/composite-lens-extra.cabal b/composite-lens-extra.cabal
--- a/composite-lens-extra.cabal
+++ b/composite-lens-extra.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.34.4.
+-- This file has been generated from package.yaml by hpack version 0.34.7.
 --
 -- see: https://github.com/sol/hpack
 
 name:           composite-lens-extra
-version:        0.0.1.0
+version:        0.1.0.0
 synopsis:       Extra lens functions for composite.
 description:    Extra lens functions for composite.
 category:       Composite, Data, Lens
@@ -30,10 +30,10 @@
       Paths_composite_lens_extra
   hs-source-dirs:
       src
-  ghc-options: -Weverything -Wno-all-missed-specialisations -Wno-missing-import-lists -Wno-implicit-prelude -Wno-monomorphism-restriction -Wno-missing-local-signatures -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -Wno-safe -Wno-unsafe
+  ghc-options: -Weverything -Wno-all-missed-specialisations -Wno-implicit-prelude -Wno-monomorphism-restriction -Wno-missing-local-signatures -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -Wno-safe -Wno-unsafe
   build-depends:
       base >=4.7 && <5
-    , composite-base >=0.7.0.0 && <0.8
-    , lens >=4.0 && <5.1
-    , vinyl >=0.13.0 && <0.14
+    , composite-base >=0.7.0.0 && <0.9
+    , lens >=4.0 && <5.3
+    , vinyl >=0.13.0 && <0.15
   default-language: Haskell2010
diff --git a/src/Composite/Lens/Extra.hs b/src/Composite/Lens/Extra.hs
--- a/src/Composite/Lens/Extra.hs
+++ b/src/Composite/Lens/Extra.hs
@@ -1,74 +1,25 @@
 {-# LANGUAGE AllowAmbiguousTypes #-}
-{-# LANGUAGE DataKinds #-}
-{-# LANGUAGE FlexibleContexts #-}
-{-# LANGUAGE GADTs #-}
-{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE DataKinds           #-}
+{-# LANGUAGE FlexibleContexts    #-}
+{-# LANGUAGE GADTs               #-}
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TypeApplications #-}
-{-# LANGUAGE TypeOperators #-}
-{-# LANGUAGE ViewPatterns #-}
+{-# LANGUAGE TypeApplications    #-}
+{-# LANGUAGE TypeOperators       #-}
+{-# LANGUAGE ViewPatterns        #-}
 
 module Composite.Lens.Extra
-  ( pattern (:!:),
-    rlens'',
+  (
     rlensS,
     rlensS',
     rlensS'',
   )
 where
 
-import Composite.Record
-import qualified Control.Lens as L
-import Data.Functor.Contravariant
-import qualified Data.Vinyl as Vinyl
-import Data.Vinyl.TypeLevel
-
--- | Bidirectional pattern matching the first field of a record using ':->' values and any contavariant functor.
---
--- This pattern is bidirectional meaning you can use it either as a pattern or a constructor, e.g.
---
--- @
---   let rec = Predicate even :!: Predicate (even . length) :!: RNil
---       Predicate foo :!: Predicate bar :!: RNil = rec
--- @
---
--- @since 0.0.1.0
-pattern (:!:) :: forall s f rs a. Contravariant f => () => f a -> Rec f rs -> Rec f (s :-> a ': rs)
-pattern (:!:) fa rs <-
-  (contramap Val -> fa) :& rs
-  where
-    (:!:) fa rs = contramap getVal fa :& rs
-
-infixr 5 :!:
-
--- | Lens to a particular field of a record using a contravariant functor.
---
---  For example, given:
---
---  @
---    type FFoo = "foo" :-> Int
---    type FBar = "bar" :-> String
---    fBar_ :: Proxy FBar
---    fBar_ = Proxy
---
---    rec :: 'Rec' 'Predicate' '[FFoo, FBar]
---    rec = Predicate even :!: Predicate (even . length) :!: Nil
---  @
---
---  Then:
---
---  @
---    view (rlens'' fBar_)                           rec == Predicate even
---    set  (rlens'' fBar_) Predicate (odd . length)  rec == Predicate even :!: Predicate (odd . length) :!: Nil
---    over (rlens'' fBar_) (contramap show)          rec == Predicate even :!: Predicate (odd . length . show) :!: Nil
---  @
---
--- @since 0.0.1.0
-rlens'' :: (Contravariant f, Functor g, RElem (s :-> a) rs) => proxy (s :-> a) -> (f a -> g (f a)) -> Rec f rs -> g (Rec f rs)
-rlens'' proxy f =
-  Vinyl.rlens $ \(contramap (reifyVal proxy . Val) -> fa) ->
-    contramap getVal <$> f fa
-{-# INLINE rlens'' #-}
+import           Composite.Record           (Rec, Record, getVal, (:->) (Val))
+import qualified Control.Lens               as L
+import           Data.Functor.Contravariant (Contravariant (contramap))
+import qualified Data.Vinyl                 as Vinyl
+import           Data.Vinyl.TypeLevel       (RIndex)
 
 -- | Type changing lens over a `Record` field.
 --
