diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,13 @@
 Change Log
 ==========
 
+Version 1.0.4.0 (2017-02-07)
+----------------
+
+### New features
+
+* Expose htmlSetting and textSetting
+
 Version 1.0.3.0 (2017-01-24)
 ----------------
 
diff --git a/heterocephalus.cabal b/heterocephalus.cabal
--- a/heterocephalus.cabal
+++ b/heterocephalus.cabal
@@ -1,5 +1,5 @@
 name:                heterocephalus
-version:             1.0.3.1
+version:             1.0.4.0
 synopsis:            A type-safe template engine for working with popular front end development tools
 description:
     Recent front end development tools and languages are growing fast and have
diff --git a/src/Text/Heterocephalus.hs b/src/Text/Heterocephalus.hs
--- a/src/Text/Heterocephalus.hs
+++ b/src/Text/Heterocephalus.hs
@@ -36,7 +36,9 @@
   , overwrite
 
   -- * low-level
-  , HeterocephalusSetting(escapeExp)
+  , HeterocephalusSetting(..)
+  , textSetting
+  , htmlSetting
   , DefaultScope
   , compile
   , compileWith
@@ -358,18 +360,26 @@
     Just x -> varE x
     Nothing -> qexp
 
+{-| Settings that are used when processing heterocephalus templates.
+ -}
 data HeterocephalusSetting = HeterocephalusSetting
   { escapeExp :: Q Exp
+  -- ^ Template variables are passed to 'escapeExp' in the output.  This allows
+  -- things like escaping HTML entities.  (See 'htmlSetting'.)
   }
 
 {-| A setting that escapes template variables for Html
+
+This sets 'escapeExp' to 'toHtml'.
  -}
 htmlSetting :: HeterocephalusSetting
 htmlSetting = HeterocephalusSetting
   { escapeExp = [|toHtml|]
   }
 
-{-| A setting that DOES NOT escape template variables
+{-| A setting that DOES NOT escape template variables.
+
+This sets 'escapeExp' to 'preEscapedToMarkup'.
  -}
 textSetting :: HeterocephalusSetting
 textSetting = HeterocephalusSetting
