diff --git a/extractable-singleton.cabal b/extractable-singleton.cabal
--- a/extractable-singleton.cabal
+++ b/extractable-singleton.cabal
@@ -1,5 +1,5 @@
 name:                extractable-singleton
-version:             0.0.0
+version:             0.0.0.1
 synopsis:            A functor, where the "stored" value is isomorphic to Identity
 -- description:
 homepage:            https://github.com/athanclark/extractable-singleton#readme
diff --git a/src/Data/Singleton/Class.hs b/src/Data/Singleton/Class.hs
--- a/src/Data/Singleton/Class.hs
+++ b/src/Data/Singleton/Class.hs
@@ -5,6 +5,7 @@
 module Data.Singleton.Class where
 
 import Data.Functor.Identity (Identity (..))
+import Data.Functor.Compose  (Compose (..))
 
 
 
@@ -20,3 +21,7 @@
 
 instance Extractable Identity where
   runSingleton (Identity x) = x
+
+
+instance (Extractable f, Extractable g) => Extractable (Compose f g) where
+  runSingleton (Compose x) = runSingleton (runSingleton x)
