diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,5 +1,10 @@
 # Changelog for the `parameterized-utils` package
 
+## 2.3.0.0 -- 2026-03-06
+
+  * BREAKING: Remove the `Iso`s `fin0Void`, `fin1Unit`, and `fin2Bool`.
+  * Deprecate `Data.Parameterized.Compose`.
+
 ## 2.2.0.0 -- 2026-01-22
 
   * Replace dependency on `lens` with `microlens` and `microlens-pro`.
diff --git a/parameterized-utils.cabal b/parameterized-utils.cabal
--- a/parameterized-utils.cabal
+++ b/parameterized-utils.cabal
@@ -1,6 +1,6 @@
 Cabal-version: 2.2
 Name:          parameterized-utils
-Version:       2.2.0.0
+Version:       2.3.0.0
 Author:        Galois Inc.
 Maintainer:    kquick@galois.com, rscott@galois.com
 stability:     stable
@@ -60,9 +60,7 @@
                , hashtables     >=1.2  && <1.5
                , indexed-traversable
                , microlens      >=0.5 && <0.6
-               , microlens-pro  >=0.2 && <0.3
                , mtl
-               , profunctors    >=5.6 && < 5.7
                , template-haskell
                , text
                , vector         >=0.12 && < 0.14
diff --git a/src/Data/Parameterized/Classes.hs b/src/Data/Parameterized/Classes.hs
--- a/src/Data/Parameterized/Classes.hs
+++ b/src/Data/Parameterized/Classes.hs
@@ -8,6 +8,11 @@
 "Data.Functor.Classes" types as they work with any kind @k@, and are
 not restricted to '*'.
 -}
+
+-- TODO(#221): This is for the deprecation warning on
+-- Data.Parameterized.Compose, remove this when that module is removed.
+{-# OPTIONS_GHC -Wno-deprecations #-}
+
 {-# LANGUAGE AllowAmbiguousTypes #-}
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE DefaultSignatures #-}
diff --git a/src/Data/Parameterized/Compose.hs b/src/Data/Parameterized/Compose.hs
--- a/src/Data/Parameterized/Compose.hs
+++ b/src/Data/Parameterized/Compose.hs
@@ -16,7 +16,7 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE Safe #-}
-module Data.Parameterized.Compose
+module Data.Parameterized.Compose {-# DEPRECATED "See #170" #-}
   ( testEqualityComposeBare
   ) where
 
@@ -37,3 +37,4 @@
   case (testEquality_ x y :: Maybe (g x :~: g y)) of
     Just Refl -> Just (Refl :: x :~: y)
     Nothing   -> Nothing
+{-# DEPRECATED testEqualityComposeBare "See #170" #-}
diff --git a/src/Data/Parameterized/Fin.hs b/src/Data/Parameterized/Fin.hs
--- a/src/Data/Parameterized/Fin.hs
+++ b/src/Data/Parameterized/Fin.hs
@@ -32,14 +32,9 @@
   , minFin
   , incFin
   , fin0Absurd
-  , fin0Void
-  , fin1Unit
-  , fin2Bool
   ) where
 
-import Data.Void (Void, absurd)
 import GHC.TypeNats (KnownNat)
-import Lens.Micro.Pro (Iso', iso)
 import Numeric.Natural (Natural)
 
 import Data.Parameterized.NatRepr
@@ -133,24 +128,3 @@
       case plusComm x (knownNat @1) of
         Refl ->
           case addIsLeqLeft1 @1 @o @0 LeqProof of {})
-
-fin0Void :: Iso' (Fin 0) Void
-fin0Void = iso fin0Absurd absurd
-
-fin1Unit :: Iso' (Fin 1) ()
-fin1Unit = iso (const ()) (const minFin)
-
-fin2Bool :: Iso' (Fin 2) Bool
-fin2Bool =
-  iso
-    (viewFin
-      (\n ->
-         case isZeroNat n of
-           ZeroNat -> False
-           NonZeroNat -> True))
-    (\b -> if b then maxBound else minBound)
-
-{-# DEPRECATED
-  fin0Void, fin1Unit, fin2Bool
-  "These will be removed in the next release of parameterized-utils, see #208."
-#-}
diff --git a/src/Data/Parameterized/TraversableFC/WithIndex.hs b/src/Data/Parameterized/TraversableFC/WithIndex.hs
--- a/src/Data/Parameterized/TraversableFC/WithIndex.hs
+++ b/src/Data/Parameterized/TraversableFC/WithIndex.hs
@@ -24,15 +24,21 @@
   , ifoldMapFCDefault
   ) where
 
+import Data.Coerce (Coercible, coerce)
 import Data.Functor.Const (Const(Const, getConst))
 import Data.Functor.Identity (Identity(Identity, runIdentity))
 import Data.Kind
 import Data.Monoid (All(..), Any(..), Endo(Endo), appEndo, Dual(Dual, getDual))
-import Data.Profunctor.Unsafe ((#.))
 import GHC.Exts (build)
 
 import Data.Parameterized.Classes
 import Data.Parameterized.TraversableFC
+
+-- See Note [Function coercion] in
+-- https://hackage-content.haskell.org/package/ghc-internal-9.1401.0/src/src/GHC/Internal/Data/Functor/Utils.hs
+(#.) :: Coercible b c => (b -> c) -> (a -> b) -> (a -> c)
+(#.) _f = coerce
+{-# INLINE (#.) #-}
 
 class FunctorFC t => FunctorFCWithIndex (t :: (k -> Type) -> l -> Type) where
   -- | Like 'fmapFC', but with an index.
