diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Changelog for single-tuple
 
+## 0.1.2.0
+
+2021.05.21
+
+Adding `GHC.Tuple.Solo` and `GHC.Tuple.Unit` as `Single`.
+
 ## 0.1.1.0
 
 2020.05.26
diff --git a/single-tuple.cabal b/single-tuple.cabal
--- a/single-tuple.cabal
+++ b/single-tuple.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 
 name:           single-tuple
-version:        0.1.1.0
+version:        0.1.2.0
 synopsis:       a class for single tuple implementations
 description:    a class for single tuple implementations
 category:       Data
@@ -23,9 +23,10 @@
   location: https://github.com/kakkun61/tuple
 
 common common
-  build-depends: base >=4.10 && <4.15,
+  build-depends: base >=4.10 && <5,
                  OneTuple >=0.2 && <0.3,
-                 Only >=0.1 && <0.2
+                 Only >=0.1 && <0.2,
+                 ghc-prim
   ghc-options:   -Wall
                  -Wcompat
                  -Wincomplete-uni-patterns
diff --git a/src/Data/Tuple/Single.hs b/src/Data/Tuple/Single.hs
--- a/src/Data/Tuple/Single.hs
+++ b/src/Data/Tuple/Single.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP             #-}
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE Safe            #-}
 {-# LANGUAGE ViewPatterns    #-}
@@ -22,6 +23,12 @@
 import Data.Tuple.OneTuple   (OneTuple (OneTuple), only)
 import Data.Tuple.Only       (Only (Only, fromOnly))
 
+#if MIN_VERSION_ghc_prim(0,7,0)
+import GHC.Tuple (Solo (Solo))
+#else
+import GHC.Tuple (Unit (Unit))
+#endif
+
 class Single t where
   wrap :: a -> t a
   unwrap :: t a -> a
@@ -47,3 +54,17 @@
   unwrap = only
 
 {-# COMPLETE Single :: OneTuple #-}
+
+#if MIN_VERSION_ghc_prim(0,7,0)
+instance Single Solo where
+  wrap = Solo
+  unwrap (Solo a) = a
+
+{-# COMPLETE Single :: Solo #-}
+#else
+instance Single Unit where
+  wrap = Unit
+  unwrap (Unit a) = a
+
+{-# COMPLETE Single :: Unit #-}
+#endif
