diff --git a/hs-opentelemetry-api.cabal b/hs-opentelemetry-api.cabal
--- a/hs-opentelemetry-api.cabal
+++ b/hs-opentelemetry-api.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           hs-opentelemetry-api
-version:        0.0.3.2
+version:        0.0.3.3
 synopsis:       OpenTelemetry API for use by libraries for direct instrumentation or wrapper packages.
 description:    Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/api#readme>
 category:       OpenTelemetry, Telemetry, Monitoring, Observability, Metrics
diff --git a/src/OpenTelemetry/Baggage.hs b/src/OpenTelemetry/Baggage.hs
--- a/src/OpenTelemetry/Baggage.hs
+++ b/src/OpenTelemetry/Baggage.hs
@@ -81,7 +81,11 @@
 tokenValue (Token t) = t
 
 instance Lift Token where
+#if MIN_VERSION_template_haskell(2, 17, 0)
+  liftTyped (Token tok) = liftCode $ unsafeTExpCoerce $ bsToExp tok
+#else
   liftTyped (Token tok) = unsafeTExpCoerce $ bsToExp tok
+#endif
 
 -- | An entry into the baggage 
 data Element = Element
@@ -113,7 +117,7 @@
 tokenCharacters = C.fromList "!#$%&'*+-.^_`|~0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
 
 -- Ripped from file-embed-0.0.13
-bsToExp :: ByteString -> Q Exp
+bsToExp :: Monad m => ByteString -> m Exp
 #if MIN_VERSION_template_haskell(2, 5, 0)
 bsToExp bs =
     return $ ConE 'Token
