diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -281,7 +281,7 @@
   let x = 3
   let y = 4
   z <- [C.exp| long{
-      $fun:(int (*ackermannIO)(int, int))($(long x), $(long y))
+      $fun:(long (*ackermannIO)(long, long))($(long x), $(long y))
     } |]
   print z
 ```
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,4 @@
+- 0.5.3.2: Make type errors with default anti-quoter much saner.
 - 0.5.3.1: Fix leak of `FunPtr` when using `funCtx`.
 - 0.5.3.0: Recognize more standard library types.  See pull request #19.
 - 0.5.2.1: Convert `signed char` to `CSChar`.  See pull request #18.
diff --git a/inline-c.cabal b/inline-c.cabal
--- a/inline-c.cabal
+++ b/inline-c.cabal
@@ -1,5 +1,5 @@
 name:                inline-c
-version:             0.5.3.1
+version:             0.5.3.2
 synopsis:            Write Haskell source files including C code inline. No FFI required.
 description:         See <https://github.com/fpco/inline-c/blob/master/README.md>.
 license:             MIT
diff --git a/src/Language/C/Inline/Internal.hs b/src/Language/C/Inline/Internal.hs
--- a/src/Language/C/Inline/Internal.hs
+++ b/src/Language/C/Inline/Internal.hs
@@ -463,7 +463,7 @@
                       ", because it's not in scope. (genericQuote)"
             Just hsName -> do
               hsExp <- TH.varE hsName
-              [| \cont -> cont $(return hsExp) |]
+              [| \cont -> cont ($(return hsExp) :: $(return hsTy)) |]
           return (hsTy, hsExp)
         AntiQuote antiId dyn -> do
           case Map.lookup antiId (ctxAntiQuoters ctx) of
