diff --git a/Yesod/Core/Handler.hs b/Yesod/Core/Handler.hs
--- a/Yesod/Core/Handler.hs
+++ b/Yesod/Core/Handler.hs
@@ -28,6 +28,7 @@
       HandlerT
       -- ** Read information from handler
     , getYesod
+    , getsYesod
     , getUrlRender
     , getUrlRenderParams
     , getCurrentRoute
@@ -290,6 +291,11 @@
 -- | Get the master site application argument.
 getYesod :: MonadHandler m => m (HandlerSite m)
 getYesod = rheSite `liftM` askHandlerEnv
+
+-- | Get a specific component of the master site application argument. 
+--   Analogous to the 'gets' function for operating on 'StateT'.
+getsYesod :: MonadHandler m => (HandlerSite m -> a) -> m a
+getsYesod f = (f . rheSite) `liftM` askHandlerEnv
 
 -- | Get the URL rendering function.
 getUrlRender :: MonadHandler m => m (Route (HandlerSite m) -> Text)
diff --git a/Yesod/Core/Types.hs b/Yesod/Core/Types.hs
--- a/Yesod/Core/Types.hs
+++ b/Yesod/Core/Types.hs
@@ -48,7 +48,7 @@
 import           System.Log.FastLogger              (LogStr, LoggerSet, toLogStr, pushLogStr)
 import qualified System.Random.MWC                  as MWC
 import           Network.Wai.Logger                 (DateCacheGetter)
-import           Text.Blaze.Html                    (Html)
+import           Text.Blaze.Html                    (Html, toHtml)
 import           Text.Hamlet                        (HtmlUrl)
 import           Text.Julius                        (JavascriptUrl)
 import           Web.Cookie                         (SetCookie)
@@ -250,6 +250,16 @@
     mempty = return ()
     mappend x y = x >> y
 instance (a ~ (), Monad m) => Semigroup (WidgetT site m a)
+
+-- | A 'String' can be trivially promoted to a widget.
+--
+-- For example, in a yesod-scaffold site you could use:
+--
+-- @getHomeR = do defaultLayout "Widget text"@
+instance (Monad m, a ~ ()) => IsString (WidgetT site m a) where
+    fromString = toWidget . toHtml . T.pack
+      where toWidget x = WidgetT $ const $ return $ ((), GWData (Body (const x))
+                         mempty mempty mempty mempty mempty mempty)
 
 type RY master = Route master -> [(Text, Text)] -> Text
 
diff --git a/yesod-core.cabal b/yesod-core.cabal
--- a/yesod-core.cabal
+++ b/yesod-core.cabal
@@ -1,5 +1,5 @@
 name:            yesod-core
-version:         1.4.12
+version:         1.4.13
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -47,7 +47,7 @@
                    , case-insensitive      >= 0.2
                    , parsec                >= 2        && < 3.2
                    , directory             >= 1
-                   , vector                >= 0.9      && < 0.11
+                   , vector                >= 0.9      && < 0.12
                    , aeson                 >= 0.5
                    , fast-logger           >= 2.2
                    , wai-logger            >= 0.2
