diff --git a/Data/Time/Parse.hsc b/Data/Time/Parse.hsc
--- a/Data/Time/Parse.hsc
+++ b/Data/Time/Parse.hsc
@@ -66,10 +66,10 @@
     strptime_ :: a -> a -> Maybe (LocalTime, Int)
 
 instance Strptime_ [Char] where
-    strptime_ f s = strptime_ (S.pack f) (S.pack s)
+    strptime_ f = let pf = S.pack f in \s -> strptime_ pf (S.pack s)
 
 instance Strptime_ L.ByteString where
-    strptime_ f s = strptime_ (S.concat . L.toChunks $ f) (S.concat . L.toChunks $ s)
+    strptime_ f = let pf = S.concat (L.toChunks f) in \s -> strptime_ pf (S.concat . L.toChunks $ s)
 
 instance Strptime_ S.ByteString where
     strptime_ f = U.unsafePerformIO $ do
diff --git a/strptime.cabal b/strptime.cabal
--- a/strptime.cabal
+++ b/strptime.cabal
@@ -1,6 +1,6 @@
 Name: strptime
 Category: System, Data, Parsing
-Version: 1.0.4
+Version: 1.0.5
 Cabal-version: >= 1.2
 Build-type: Simple
 Copyright: Eugene Kirpichov
