diff --git a/Data/Symbol.hs b/Data/Symbol.hs
--- a/Data/Symbol.hs
+++ b/Data/Symbol.hs
@@ -1,4 +1,4 @@
--- Copyright (c) 2009-2010
+-- Copyright (c) 2009-2012
 --         The President and Fellows of Harvard College.
 --
 -- Redistribution and use in source and binary forms, with or without
@@ -28,7 +28,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Symbol
--- Copyright   :  (c) Harvard University 2009-2010
+-- Copyright   :  (c) Harvard University 2009-2012
 -- License     :  BSD-style
 -- Maintainer  :  mainland@eecs.harvard.edu
 --
@@ -63,6 +63,9 @@
 instance Ord Symbol where
     compare (Symbol i1 _) (Symbol i2 _) = compare i1 i2
 
+instance Show Symbol where
+    showsPrec p (Symbol _ s) = showsPrec p s
+
 #if __GLASGOW_HASKELL__ >= 608
 instance IsString Symbol where
     fromString = intern
@@ -74,6 +77,7 @@
     }
 
 symbolEnv :: MVar SymbolEnv
+{-# NOINLINE symbolEnv #-}
 symbolEnv = unsafePerformIO $ newMVar $ SymbolEnv 1 Map.empty
 
 -- We @seq@ @s@ so that we can guarantee that when we perform the lookup we
@@ -81,8 +85,8 @@
 -- leading to a deadlock.
 
 -- |Intern a string to produce a 'Symbol'.
-{-# NOINLINE intern #-}
 intern :: String -> Symbol
+{-# NOINLINE intern #-}
 intern s = s `seq` unsafePerformIO $ modifyMVar symbolEnv $ \env -> do
     case Map.lookup s (symbols env) of
       Nothing  -> do let sym  = Symbol (uniq env) s
diff --git a/symbol.cabal b/symbol.cabal
--- a/symbol.cabal
+++ b/symbol.cabal
@@ -1,5 +1,5 @@
 name:           symbol
-version:        0.1.1.1
+version:        0.1.2
 cabal-version:  >= 1.6
 license:        BSD3
 license-file:   LICENSE
