diff --git a/bindings/haskell/samples/Sample.hs b/bindings/haskell/samples/Sample.hs
index 21960ebefa1e88671cab2c083879dee993283e02..a37a77548d5528dd72c5e2f760c467e5b53b642f 100644
--- a/bindings/haskell/samples/Sample.hs
+++ b/bindings/haskell/samples/Sample.hs
@@ -15,12 +15,12 @@ testKs :: Architecture
        -> String
        -> Maybe OptionValue
        -> IO ()
-testKs arch mode assembly syntax = do
+testKs arch mode assembly maybeSyntax = do
     result <- runAssembler $ do
         ks <- open arch mode
-        case syntax of
-            Just syn -> option ks OptSyntax syn
-            Nothing  -> return ()
+        case maybeSyntax of
+            Just syntax -> option ks OptSyntax syntax
+            Nothing     -> return ()
         (encode, count) <- assemble ks assembly Nothing
         return (encode, count)
     case result of
diff --git a/bindings/haskell/src/Keystone/Internal/Util.hs b/bindings/haskell/src/Keystone/Internal/Util.hs
index e7ee1cc6f3dda1af1bcc135388534fabbf5d40f1..c23fa3834df467c82ed1fb57ff975299c04c397b 100644
--- a/bindings/haskell/src/Keystone/Internal/Util.hs
+++ b/bindings/haskell/src/Keystone/Internal/Util.hs
@@ -7,18 +7,12 @@ License     : GPL-2
 module Keystone.Internal.Util where
 
 import Data.Bits
-import Foreign
 
 -- | Combine a list of Enums by performing a bitwise-OR.
 combineEnums :: (Enum a, Num b, Bits b) => [a] -> b
 combineEnums =
     foldr ((.|.) <$> enumToNum) 0
 
--- | Cast a pointer and then peek inside it.
-castPtrAndPeek :: Storable a => Ptr b -> IO a
-castPtrAndPeek =
-    peek . castPtr
-
 -- | Convert an 'Eum' to a 'Num'.
 enumToNum :: (Enum a, Num b) => a -> b
 enumToNum =