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.6.0
+version:             0.5.6.1
 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/Context.hs b/src/Language/C/Inline/Context.hs
--- a/src/Language/C/Inline/Context.hs
+++ b/src/Language/C/Inline/Context.hs
@@ -48,6 +48,7 @@
 import           Control.Monad.Trans.Maybe (MaybeT, runMaybeT)
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Unsafe as BS
+import           Data.Coerce
 import           Data.Int (Int8, Int16, Int32, Int64)
 import qualified Data.Map as Map
 import           Data.Monoid ((<>))
@@ -306,7 +307,7 @@
   , aqMarshaller = \purity cTypes cTy cId -> do
       hsTy <- convertType_ "fptrCtx" purity cTypes cTy
       hsExp <- getHsVariable "fptrCtx" cId
-      hsExp' <- [| withForeignPtr $(return hsExp) |]
+      hsExp' <- [| withForeignPtr (coerce $(return hsExp)) |]
       return (hsTy, hsExp')
   }
 
