diff --git a/fluid-idl.cabal b/fluid-idl.cabal
--- a/fluid-idl.cabal
+++ b/fluid-idl.cabal
@@ -1,11 +1,13 @@
--- This file has been generated from package.yaml by hpack version 0.17.1.
+-- This file has been generated from package.yaml by hpack version 0.20.0.
 --
 -- see: https://github.com/sol/hpack
+--
+-- hash: e2126e824f03606560a73bf27fee809d019e62c2592a9c4a529bbefb09183d78
 
 name:           fluid-idl
-version:        0.0.5
-synopsis:       Fluid | The Programmatic IDL
-description:    Fluid | The Programmatic IDL
+version:        0.0.6
+synopsis:       Code-generated, Auto-versioned, & Smart Web APIs
+description:    Code-generated, Auto-versioned, & Smart Web APIs
 category:       Web
 maintainer:     Joe Vargas
 license:        BSD3
@@ -24,7 +26,8 @@
   ghc-options: -Wall
   build-depends:
       aeson
-    , base >= 4.7 && < 5
+    , base >=4.7 && <5
+    , blaze-markup
     , bytestring
     , containers
     , errors
@@ -34,8 +37,8 @@
     , monad-logger
     , mtl
     , random
-    , scientific
     , safe-exceptions
+    , scientific
     , text
     , text-conversions
     , unordered-containers
@@ -55,6 +58,8 @@
       Fluid.ServiceThrower
       Fluid.Types
       Fluid.Val
+  other-modules:
+      Paths_fluid_idl
   default-language: Haskell2010
 
 test-suite fluid-suite
@@ -66,9 +71,9 @@
   ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N
   build-depends:
       aeson
-    , base >= 4.7 && < 5
-    , fluid-idl
+    , base >=4.7 && <5
     , containers
+    , fluid-idl
     , hspec
     , scientific
     , text
@@ -78,4 +83,5 @@
       ClientSpec
       ExprSpec
       ValSpec
+      Paths_fluid_idl
   default-language: Haskell2010
diff --git a/library/Fluid/Imports.hs b/library/Fluid/Imports.hs
--- a/library/Fluid/Imports.hs
+++ b/library/Fluid/Imports.hs
@@ -6,6 +6,7 @@
   , module Data.Text.Conversions
   , module Data.ByteString.Lazy.Char8
   , module Control.Exception.Safe
+  , module Text.Blaze
   ) where
 
 import Data.Map (Map, fromList, toList, empty, size)
@@ -15,3 +16,4 @@
 import Data.Text (Text)
 import Data.Text.Conversions (ToText(..), FromText(..))
 import Control.Exception.Safe (MonadThrow, MonadCatch, catch)
+import Text.Blaze (ToMarkup(..))
diff --git a/library/Fluid/ServiceThrower.hs b/library/Fluid/ServiceThrower.hs
--- a/library/Fluid/ServiceThrower.hs
+++ b/library/Fluid/ServiceThrower.hs
@@ -2,6 +2,7 @@
 module Fluid.ServiceThrower
   ( ServiceThrower(..)
   , ThrownValue(..)
+  , mayServiceThrow
   ) where
 
 import Control.Exception.Safe
@@ -21,3 +22,6 @@
 
 instance MonadThrow m => ServiceThrower (ExceptT Server.Response m) where
   serviceThrow = throwError . Server.Response'Error . Server.ResponseError'Service
+
+mayServiceThrow :: (ServiceThrower m, MonadCatch m) => m a -> m (Maybe a)
+mayServiceThrow m = catch (Just <$> m) (\(_ :: ThrownValue) -> return Nothing)
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,8 +1,8 @@
 name: fluid-idl
-version: '0.0.5'
+version: '0.0.6'
 category: Web
-synopsis: Fluid | The Programmatic IDL
-description: Fluid | The Programmatic IDL
+synopsis: Code-generated, Auto-versioned, & Smart Web APIs
+description: Code-generated, Auto-versioned, & Smart Web APIs
 maintainer: Joe Vargas
 license: BSD3
 extra-source-files:
@@ -32,6 +32,7 @@
   - aeson
   - base >= 4.7 && < 5
   - bytestring
+  - blaze-markup
   - containers
   - errors
   - exceptions
