diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Revision history for boring
 
+## 0.2.1
+
+-  Add instances for `SNat`, `SSymbol`, and `SChar`
+   (singletons introduced in `base-4.18.0.0`)
+
 ## 0.2
 
 - Make `boring` package dependency light.
diff --git a/boring.cabal b/boring.cabal
--- a/boring.cabal
+++ b/boring.cabal
@@ -1,5 +1,5 @@
 name:               boring
-version:            0.2
+version:            0.2.1
 synopsis:           Boring and Absurd types
 description:
   * @Boring@ types are isomorphic to @()@.
@@ -29,8 +29,11 @@
    || ==8.4.4
    || ==8.6.5
    || ==8.8.4
-   || ==8.10.4
-   || ==9.0.1
+   || ==8.10.7
+   || ==9.0.2
+   || ==9.2.7
+   || ==9.4.4
+   || ==9.6.1
 
 source-repository head
   type:     git
@@ -49,8 +52,8 @@
 library
   exposed-modules:  Data.Boring
   build-depends:
-      base          >=4.5 && <4.16
-    , transformers  >=0.3 && <0.6
+      base          >=4.5 && <4.19
+    , transformers  >=0.3 && <0.7
 
   if impl(ghc <7.6)
     build-depends: ghc-prim
@@ -63,8 +66,8 @@
 
   if !impl(ghc >=8.0)
     build-depends:
-        semigroups           >=0.18.5 && <0.20
-      , transformers-compat  >=0.5    && <0.7
+        semigroups           >=0.18.5 && <0.21
+      , transformers-compat  >=0.5    && <0.8
 
   if flag(tagged) || !impl(ghc >=7.8)
     build-depends: tagged >=0.8.6 && <0.9
diff --git a/src/Data/Boring.hs b/src/Data/Boring.hs
--- a/src/Data/Boring.hs
+++ b/src/Data/Boring.hs
@@ -92,6 +92,11 @@
 import qualified Type.Reflection as Typeable
 #endif
 
+#if MIN_VERSION_base(4,18,0)
+import qualified GHC.TypeLits as TypeLits
+import qualified GHC.TypeNats as TypeNats
+#endif
+
 #ifdef MIN_VERSION_tagged
 import Data.Tagged (Tagged (..))
 #endif
@@ -203,6 +208,17 @@
 #if MIN_VERSION_base(4,10,0)
 instance Typeable.Typeable a => Boring (Typeable.TypeRep a) where
     boring = Typeable.typeRep
+#endif
+
+#if MIN_VERSION_base(4,18,0)
+instance TypeLits.KnownChar n => Boring (TypeLits.SChar n) where
+    boring = TypeLits.charSing
+
+instance TypeLits.KnownSymbol n => Boring (TypeLits.SSymbol n) where
+    boring = TypeLits.symbolSing
+
+instance TypeNats.KnownNat n => Boring (TypeNats.SNat n) where
+    boring = TypeNats.natSing
 #endif
 
 -------------------------------------------------------------------------------
