diff --git a/Yesod/Form/Functions.hs b/Yesod/Form/Functions.hs
--- a/Yesod/Form/Functions.hs
+++ b/Yesod/Form/Functions.hs
@@ -4,7 +4,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE FlexibleContexts #-}
 module Yesod.Form.Functions
-    ( -- * Running in Form monad
+    ( -- * Running in MForm monad
       newFormIdent
     , askParams
     , askFiles
@@ -62,7 +62,7 @@
 #endif
 
 -- | Get a unique identifier.
-newFormIdent :: Form sub master Text
+newFormIdent :: MForm sub master Text
 newFormIdent = do
     i <- get
     let i' = incrInts i
@@ -72,12 +72,12 @@
     incrInts (IntSingle i) = IntSingle $ i + 1
     incrInts (IntCons i is) = (i + 1) `IntCons` is
 
-formToAForm :: Form sub master (FormResult a, FieldView sub master) -> AForm sub master a
+formToAForm :: MForm sub master (FormResult a, FieldView sub master) -> AForm sub master a
 formToAForm form = AForm $ \(master, langs) env ints -> do
     ((a, xml), ints', enc) <- runRWST form (env, master, langs) ints
     return (a, (:) xml, ints', enc)
 
-aFormToForm :: AForm sub master a -> Form sub master (FormResult a, [FieldView sub master] -> [FieldView sub master])
+aFormToForm :: AForm sub master a -> MForm sub master (FormResult a, [FieldView sub master] -> [FieldView sub master])
 aFormToForm (AForm aform) = do
     ints <- get
     (env, master, langs) <- ask
@@ -86,24 +86,24 @@
     tell enc
     return (a, xml)
 
-askParams :: Form sub master (Maybe Env)
+askParams :: MForm sub master (Maybe Env)
 askParams = do
     (x, _, _) <- ask
     return $ liftM fst x
 
-askFiles :: Form sub master (Maybe FileEnv)
+askFiles :: MForm sub master (Maybe FileEnv)
 askFiles = do
     (x, _, _) <- ask
     return $ liftM snd x
 
 mreq :: (RenderMessage master msg, RenderMessage master FormMessage)
      => Field sub master a -> FieldSettings msg -> Maybe a
-     -> Form sub master (FormResult a, FieldView sub master)
+     -> MForm sub master (FormResult a, FieldView sub master)
 mreq field fs mdef = mhelper field fs mdef (\m l -> FormFailure [renderMessage m l MsgValueRequired]) FormSuccess True
 
 mopt :: RenderMessage master msg
      => Field sub master a -> FieldSettings msg -> Maybe (Maybe a)
-     -> Form sub master (FormResult (Maybe a), FieldView sub master)
+     -> MForm sub master (FormResult (Maybe a), FieldView sub master)
 mopt field fs mdef = mhelper field fs (join mdef) (const $ const $ FormSuccess Nothing) (FormSuccess . Just) False
 
 mhelper :: RenderMessage master msg
@@ -113,7 +113,7 @@
         -> (master -> [Text] -> FormResult b) -- ^ on missing
         -> (a -> FormResult b) -- ^ on success
         -> Bool -- ^ is it required?
-        -> Form sub master (FormResult b, FieldView sub master)
+        -> MForm sub master (FormResult b, FieldView sub master)
 
 mhelper Field {..} FieldSettings {..} mdef onMissing onFound isReq = do
     mp <- askParams
@@ -157,7 +157,7 @@
      -> AForm sub master (Maybe a)
 aopt a b = formToAForm . mopt a b
 
-runFormGeneric :: MonadIO m => Form sub master a -> master -> [Text] -> Maybe (Env, FileEnv) -> GGHandler sub master m (a, Enctype)
+runFormGeneric :: MonadIO m => MForm sub master a -> master -> [Text] -> Maybe (Env, FileEnv) -> GGHandler sub master m (a, Enctype)
 runFormGeneric form master langs env = liftIOHandler $ evalRWST form (env, master, langs) (IntSingle 1)
 
 -- | This function is used to both initially render a form and to later extract
@@ -170,14 +170,14 @@
 -- the form submit to a POST page. In such a case, both the GET and POST
 -- handlers should use 'runFormPost'.
 runFormPost :: RenderMessage master FormMessage
-            => (Html -> Form sub master (FormResult a, xml))
+            => (Html -> MForm sub master (FormResult a, xml))
             -> GHandler sub master ((FormResult a, xml), Enctype)
 runFormPost form = do
     env <- postEnv
     postHelper form env
 
 postHelper  :: RenderMessage master FormMessage
-            => (Html -> Form sub master (FormResult a, xml))
+            => (Html -> MForm sub master (FormResult a, xml))
             -> Maybe (Env, FileEnv)
             -> GHandler sub master ((FormResult a, xml), Enctype)
 postHelper form env = do
@@ -204,7 +204,7 @@
 -- general usage, you can stick with @runFormPost@.
 generateFormPost
     :: RenderMessage master FormMessage
-    => (Html -> Form sub master (FormResult a, xml))
+    => (Html -> MForm sub master (FormResult a, xml))
     -> GHandler sub master ((FormResult a, xml), Enctype)
 generateFormPost form = postHelper form Nothing
 
@@ -220,14 +220,14 @@
   where
     notEmpty = not . L.null . fileContent
 
-runFormPostNoNonce :: (Html -> Form sub master (FormResult a, xml)) -> GHandler sub master ((FormResult a, xml), Enctype)
+runFormPostNoNonce :: (Html -> MForm sub master (FormResult a, xml)) -> GHandler sub master ((FormResult a, xml), Enctype)
 runFormPostNoNonce form = do
     langs <- languages
     m <- getYesod
     env <- postEnv
     runFormGeneric (form mempty) m langs env
 
-runFormGet :: (Html -> Form sub master a) -> GHandler sub master (a, Enctype)
+runFormGet :: (Html -> MForm sub master a) -> GHandler sub master (a, Enctype)
 runFormGet form = do
     gets <- liftM reqGetParams getRequest
     let env =
@@ -236,13 +236,13 @@
                 Just _ -> Just (Map.unionsWith (++) $ map (\(x, y) -> Map.singleton x [y]) gets, Map.empty)
     getHelper form env
 
-generateFormGet :: (Html -> Form sub master a) -> GHandler sub master (a, Enctype)
+generateFormGet :: (Html -> MForm sub master a) -> GHandler sub master (a, Enctype)
 generateFormGet form = getHelper form Nothing
 
 getKey :: Text
 getKey = "_hasdata"
 
-getHelper :: (Html -> Form sub master a) -> Maybe (Env, FileEnv) -> GHandler sub master (a, Enctype)
+getHelper :: (Html -> MForm sub master a) -> Maybe (Env, FileEnv) -> GHandler sub master (a, Enctype)
 getHelper form env = do
     let fragment = [HTML|<input type=hidden name=#{getKey}>|]
     langs <- languages
@@ -252,7 +252,7 @@
 type FormRender sub master a =
        AForm sub master a
     -> Html
-    -> Form sub master (FormResult a, GWidget sub master ())
+    -> MForm sub master (FormResult a, GWidget sub master ())
 
 renderTable, renderDivs :: FormRender sub master a
 renderTable aform fragment = do
diff --git a/Yesod/Form/MassInput.hs b/Yesod/Form/MassInput.hs
--- a/Yesod/Form/MassInput.hs
+++ b/Yesod/Form/MassInput.hs
@@ -35,7 +35,7 @@
 #define WHAMLET $whamlet
 #endif
 
-down :: Int -> Form sub master ()
+down :: Int -> MForm sub master ()
 down 0 = return ()
 down i | i < 0 = error "called down with a negative number"
 down i = do
@@ -43,7 +43,7 @@
     put $ IntCons 0 is
     down $ i - 1
 
-up :: Int -> Form sub master ()
+up :: Int -> MForm sub master ()
 up 0 = return ()
 up i | i < 0 = error "called down with a negative number"
 up i = do
@@ -98,7 +98,7 @@
 
 withDelete :: (xml ~ GWidget sub master (), RenderMessage master FormMessage)
            => AForm sub master a
-           -> Form sub master (Either xml (FormResult a, [FieldView sub master]))
+           -> MForm sub master (Either xml (FormResult a, [FieldView sub master]))
 withDelete af = do
     down 1
     deleteName <- newFormIdent
diff --git a/Yesod/Form/Types.hs b/Yesod/Form/Types.hs
--- a/Yesod/Form/Types.hs
+++ b/Yesod/Form/Types.hs
@@ -11,6 +11,7 @@
     , Ints (..)
       -- * Form
     , Form
+    , MForm
     , AForm (..)
       -- * Build forms
     , Field (..)
@@ -75,6 +76,8 @@
 
 type Lang = Text
 type Form sub master a = RWST (Maybe (Env, FileEnv), master, [Lang]) Enctype Ints (GGHandler sub master IO) a
+{-# DEPRECATED Form "Use MForm instead" #-}
+type MForm sub master a = RWST (Maybe (Env, FileEnv), master, [Lang]) Enctype Ints (GGHandler sub master IO) a
 
 newtype AForm sub master a = AForm
     { unAForm :: (master, [Text]) -> Maybe (Env, FileEnv) -> Ints -> GGHandler sub master IO (FormResult a, [FieldView sub master] -> [FieldView sub master], Ints, Enctype)
diff --git a/yesod-form.cabal b/yesod-form.cabal
--- a/yesod-form.cabal
+++ b/yesod-form.cabal
@@ -1,5 +1,5 @@
 name:            yesod-form
-version:         0.3.3
+version:         0.3.4
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -13,27 +13,27 @@
 description:     Form handling support for Yesod Web Framework
 
 library
-    build-depends:   base                      >= 4        && < 5
-                   , yesod-core                >= 0.9      && < 0.10
-                   , yesod-persistent          >= 0.2      && < 0.3
-                   , time                      >= 1.1.4    && < 1.3
-                   , hamlet                    >= 0.10     && < 0.11
-                   , shakespeare-css           >= 0.10     && < 0.11
-                   , shakespeare-js            >= 0.10     && < 0.11
-                   , persistent                >= 0.6      && < 0.7
-                   , yesod-persistent          >= 0.2      && < 0.3
+    build-depends:   base                  >= 4        && < 5
+                   , yesod-core            >= 0.9      && < 0.10
+                   , yesod-persistent      >= 0.2      && < 0.3
+                   , time                  >= 1.1.4
+                   , hamlet                >= 0.10     && < 0.11
+                   , shakespeare-css       >= 0.10     && < 0.11
+                   , shakespeare-js        >= 0.10     && < 0.11
+                   , persistent            >= 0.6      && < 0.7
+                   , yesod-persistent      >= 0.2      && < 0.3
                    , template-haskell
-                   , transformers              >= 0.2.2    && < 0.3
-                   , data-default              >= 0.3      && < 0.4
-                   , xss-sanitize              >= 0.3.0.1  && < 0.4
-                   , blaze-builder             >= 0.2.1    && < 0.4
-                   , network                   >= 2.2      && < 2.4
-                   , email-validate            >= 0.2.6    && < 0.3
-                   , blaze-html                >= 0.4      && < 0.5
-                   , bytestring                >= 0.9      && < 0.10
-                   , text                      >= 0.7      && < 1.0
-                   , wai                       >= 0.4      && < 0.5
-                   , containers                >= 0.2      && < 0.5
+                   , transformers          >= 0.2.2    && < 0.3
+                   , data-default          >= 0.3      && < 0.4
+                   , xss-sanitize          >= 0.3.0.1  && < 0.4
+                   , blaze-builder      >= 0.2.1.4      && < 0.4
+                   , network               >= 2.2      && < 2.4
+                   , email-validate        >= 0.2.6    && < 0.3
+                   , blaze-html            >= 0.4.1.3  && < 0.5
+                   , bytestring            >= 0.9.1.4  && < 0.10
+                   , text                  >= 0.9      && < 0.12
+                   , wai                   >= 0.4      && < 0.5
+                   , containers            >= 0.2      && < 0.5
     exposed-modules: Yesod.Form
                      Yesod.Form.Class
                      Yesod.Form.Types
