diff --git a/here.cabal b/here.cabal
--- a/here.cabal
+++ b/here.cabal
@@ -1,5 +1,5 @@
 name: here
-version: 1.2.4
+version: 1.2.5
 synopsis: Here docs & interpolated strings via quasiquotation
 description: Here docs & interpolated strings via quasiquotation
 license: BSD3
diff --git a/src/Data/String/Here/Interpolated.hs b/src/Data/String/Here/Interpolated.hs
--- a/src/Data/String/Here/Interpolated.hs
+++ b/src/Data/String/Here/Interpolated.hs
@@ -75,8 +75,8 @@
     combine [] = stringE ""
     combine parts = foldr1 (\subExpr acc -> [|$subExpr <> $acc|]) parts
 
-toString :: (Show a, Typeable a, IsString b) => a -> b
-toString x = fromString $ fromMaybe (show x) (cast x)
+toString :: (Show a, Typeable a, Typeable b, IsString b) => a -> b
+toString x = fromMaybe (fromString $ show x) (cast x)
 
 parseInterp :: String -> Either ParseError [StringPart]
 parseInterp = parse p_interp ""
