diff --git a/snap-core.cabal b/snap-core.cabal
--- a/snap-core.cabal
+++ b/snap-core.cabal
@@ -1,5 +1,5 @@
 name:           snap-core
-version:        0.5.2
+version:        0.5.3
 synopsis:       Snap: A Haskell Web Framework (Core)
 
 description:
@@ -133,7 +133,7 @@
     blaze-builder >= 0.2.1.4 && <0.4,
     bytestring,
     bytestring-nums,
-    case-insensitive >= 0.2 && < 0.3,
+    case-insensitive >= 0.2 && < 0.4,
     containers,
     deepseq >= 1.1 && <1.2,
     directory,
@@ -145,7 +145,7 @@
     old-locale,
     old-time,
     text >= 0.11 && <0.12,
-    time,
+    time >= 1.0 && < 1.4,
     transformers == 0.2.*,
     unix-compat == 0.2.*,
     vector >= 0.6 && <0.8,
diff --git a/src/Snap/Internal/Http/Types.hs b/src/Snap/Internal/Http/Types.hs
--- a/src/Snap/Internal/Http/Types.hs
+++ b/src/Snap/Internal/Http/Types.hs
@@ -11,6 +11,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE TypeSynonymInstances #-}
+{-# LANGUAGE FlexibleInstances #-}
 
 module Snap.Internal.Http.Types where
 
diff --git a/src/Snap/Util/FileUploads.hs b/src/Snap/Util/FileUploads.hs
--- a/src/Snap/Util/FileUploads.hs
+++ b/src/Snap/Util/FileUploads.hs
@@ -412,7 +412,7 @@
 --   whenever we receive input from the client.
 data UploadPolicy = UploadPolicy {
       processFormInputs         :: Bool
-    , maximumFormInputSize      :: Int
+    , maximumFormInputSize      :: Int64
     , maximumNumberOfFormInputs :: Int
     , minimumUploadRate         :: Double
     , minimumUploadSeconds      :: Int
@@ -459,14 +459,14 @@
 ------------------------------------------------------------------------------
 -- | Get the maximum size of a form input which will be read into our
 --   'rqParams' map.
-getMaximumFormInputSize :: UploadPolicy -> Int
+getMaximumFormInputSize :: UploadPolicy -> Int64
 getMaximumFormInputSize = maximumFormInputSize
 
 
 ------------------------------------------------------------------------------
 -- | Set the maximum size of a form input which will be read into our
 --   'rqParams' map.
-setMaximumFormInputSize :: Int -> UploadPolicy -> UploadPolicy
+setMaximumFormInputSize :: Int64 -> UploadPolicy -> UploadPolicy
 setMaximumFormInputSize s u = u { maximumFormInputSize = s }
 
 
@@ -542,7 +542,7 @@
 
 ------------------------------------------------------------------------------
 captureVariableOrReadFile ::
-       Int                                     -- ^ maximum size of form input
+       Int64                                   -- ^ maximum size of form input
     -> (PartInfo -> Iteratee ByteString IO a)  -- ^ file reading code
     -> (PartInfo -> Iteratee ByteString IO (Capture a))
 captureVariableOrReadFile maxSize fileHandler partInfo =
@@ -557,7 +557,7 @@
     varIter = do
         var <- liftM S.concat $
                joinI' $
-               takeNoMoreThan (fromIntegral maxSize) $$ consume
+               takeNoMoreThan maxSize $$ consume
         return $ Capture fieldName var
 
     handler e = do
diff --git a/test/snap-core-testsuite.cabal b/test/snap-core-testsuite.cabal
--- a/test/snap-core-testsuite.cabal
+++ b/test/snap-core-testsuite.cabal
@@ -28,7 +28,7 @@
     blaze-builder >= 0.2.1.4 && <0.4,
     bytestring,
     bytestring-nums,
-    case-insensitive >= 0.2 && < 0.3,
+    case-insensitive >= 0.2 && < 0.4,
     cereal == 0.3.*,
     containers,
     deepseq >= 1.1 && <1.2,
