diff --git a/glabrous.cabal b/glabrous.cabal
--- a/glabrous.cabal
+++ b/glabrous.cabal
@@ -1,5 +1,5 @@
 name: glabrous
-version: 0.3.0
+version: 0.3.1
 cabal-version: >=1.10
 build-type: Simple
 license: BSD3
@@ -48,8 +48,8 @@
         base >=4.8 && <5,
         directory >1.2 && <1.4,
         either ==4.4.*,
-        glabrous >=0.3.0 && <0.4,
-        hspec >=2.1.10 && <2.4,
+        glabrous >=0.3.1 && <0.4,
+        hspec >=2.1.10 && <2.5,
         text ==1.2.*,
         unordered-containers ==0.2.*
     default-language: Haskell2010
diff --git a/src/Text/Glabrous/Types.hs b/src/Text/Glabrous/Types.hs
--- a/src/Text/Glabrous/Types.hs
+++ b/src/Text/Glabrous/Types.hs
@@ -27,7 +27,7 @@
 
 data Context =
   Context
-    { variables :: H.HashMap T.Text T.Text }
+    { variables :: !(H.HashMap T.Text T.Text) }
     deriving (Eq, Show)
 
 instance ToJSON Context where
@@ -36,13 +36,13 @@
 
 instance FromJSON Context where
   parseJSON (Object o) = return
-    Context { variables = H.fromList $ (\(k,String v) -> (k,v)) <$> H.toList o }
-  parseJSON _         = fail "expected an object"
+    Context { variables = H.fromList ((\(k,String v) -> (k,v)) <$> H.toList o) }
+  parseJSON _          = fail "expected an object"
 
 type Tag = T.Text
 
 data Result
   = Final !T.Text
-  | Partial { template :: !Template , context :: !Context }
+  | Partial { template :: !Template, context :: !Context }
   deriving (Eq, Show)
 
