diff --git a/WebBits.cabal b/WebBits.cabal
--- a/WebBits.cabal
+++ b/WebBits.cabal
@@ -1,5 +1,5 @@
 Name:           WebBits
-Version:        0.9.2
+Version:        0.9.3
 Cabal-Version:	>= 1.2
 Copyright:      Copyright (c) 2007-2008 Arjun Guha and Spiridon Eliopoulos
 License:        LGPL
@@ -31,13 +31,13 @@
   Hs-Source-Dirs:
     src
   Build-Depends:
-    base, mtl, parsec<3.0.0, pretty, containers
+    base>=4, mtl>=1.1.0.1, parsec<3.0.0, pretty>=0.1, containers>=0.1, syb>=0.1
   ghc-options:
-    -fwarn-incomplete-patterns -fglasgow-exts
+    -fwarn-incomplete-patterns
   Extensions:     
     Generics Rank2Types MultiParamTypeClasses FunctionalDependencies
     TypeSynonymInstances FlexibleInstances FlexibleContexts
-    DeriveDataTypeable NoMonomorphismRestriction
+    DeriveDataTypeable NoMonomorphismRestriction RelaxedPolyRec
   Exposed-Modules:
     WebBits.Data.Zipper
     WebBits.Html.Html WebBits.Html.Syntax WebBits.Html.PermissiveParser
diff --git a/src/WebBits/JavaScript/Environment.hs b/src/WebBits/JavaScript/Environment.hs
--- a/src/WebBits/JavaScript/Environment.hs
+++ b/src/WebBits/JavaScript/Environment.hs
@@ -209,12 +209,15 @@
   return (PropId (env,lbl,loc) id')
 labelProp e = gmapM labelAny e
 
+
+
 labelExpr :: Expression Ann 
           -> Z.ZipperT Env (State Int) (Expression Ann)
 labelExpr (ThisRef (_,_,loc)) = do
   env <- Z.getNode
-  lbl <- M.lookup "this" env
-  return (ThisRef (env,lbl,loc))
+  case M.lookup "this" env of
+    Just lbl -> return $ ThisRef (env,lbl,loc)
+    Nothing -> fail "BUG: expected to find this in the environment"
 labelExpr (DotRef (_,_,loc) expr id) = do
   env <- Z.getNode
   lbl <- nextLabel
