diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,6 +1,11 @@
 Release notes for glambda
 =========================
 
+1.0.2
+-----
+
+Update package dependencies to drop dependency on `either`.
+
 1.0.1
 -----
 
diff --git a/glambda.cabal b/glambda.cabal
--- a/glambda.cabal
+++ b/glambda.cabal
@@ -1,11 +1,11 @@
 name:           glambda
-version:        1.0.1
+version:        1.0.2
 cabal-version:  >= 1.10
 synopsis:       A simply typed lambda calculus interpreter, written with GADTs
 homepage:       https://github.com/goldfirere/glambda
 category:       Compilers/Interpreters
-author:         Richard Eisenberg <eir@cis.upenn.edu>
-maintainer:     Richard Eisenberg <eir@cis.upenn.edu>
+author:         Richard Eisenberg <rae@cs.brynmawr.edu>
+maintainer:     Richard Eisenberg <rae@cs.brynmawr.edu>
 bug-reports:    https://github.com/goldfirere/glambda/issues
 stability:      unknown
 extra-source-files: README.md, CHANGES.md
@@ -22,14 +22,13 @@
 source-repository this
   type:     git
   location: https://github.com/goldfirere/glambda.git
-  tag:      v1.0.1
+  tag:      v1.0.2
 
 library
   build-depends:      base == 4.*
                     , ansi-wl-pprint >= 0.6.7.1
-                    , transformers >= 0.3.0.0
-                    , either >= 4.0
-                    , mtl >= 2.1.3.1
+                    , mtl >= 2.2.1
+                    , transformers >= 0.4.0.0
                     , containers >= 0.5
                     , parsec >= 3.1
                     , haskeline >= 0.7.1.1
@@ -81,8 +80,8 @@
                     , glambda
                     , template-haskell
                     , ansi-wl-pprint >= 0.6.7.1
-                    , either >= 4.0
-                    , mtl >= 2.1.3.1
+                    , mtl >= 2.2.1
+                    , transformers >= 0.4.0.0
                     , parsec >= 3.1
                     , tasty >= 0.8.1
                     , tasty-hunit >= 0.9
diff --git a/src/Language/Glambda/Check.hs b/src/Language/Glambda/Check.hs
--- a/src/Language/Glambda/Check.hs
+++ b/src/Language/Glambda/Check.hs
@@ -10,7 +10,7 @@
 -- Module      :  Language.Glambda.Unchecked
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- The glambda typechecker.
diff --git a/src/Language/Glambda/Eval.hs b/src/Language/Glambda/Eval.hs
--- a/src/Language/Glambda/Eval.hs
+++ b/src/Language/Glambda/Eval.hs
@@ -8,7 +8,7 @@
 -- Module      :  Language.Glambda.Eval
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Glambda expression evaluators for checked expressions.
diff --git a/src/Language/Glambda/Exp.hs b/src/Language/Glambda/Exp.hs
--- a/src/Language/Glambda/Exp.hs
+++ b/src/Language/Glambda/Exp.hs
@@ -6,7 +6,7 @@
 -- Module      :  Language.Glambda.Exp
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- The Exp GADT. Glambda expressions encoded in an 'Exp' value are
diff --git a/src/Language/Glambda/Globals.hs b/src/Language/Glambda/Globals.hs
--- a/src/Language/Glambda/Globals.hs
+++ b/src/Language/Glambda/Globals.hs
@@ -6,7 +6,7 @@
 -- Module      :  Language.Glambda.Globals
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Manages the global variables in Glambda
diff --git a/src/Language/Glambda/Lex.hs b/src/Language/Glambda/Lex.hs
--- a/src/Language/Glambda/Lex.hs
+++ b/src/Language/Glambda/Lex.hs
@@ -3,7 +3,7 @@
 -- Module      :  Language.Glambda.Lex
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Lexes a Glambda program string into a sequence of tokens
diff --git a/src/Language/Glambda/Monad.hs b/src/Language/Glambda/Monad.hs
--- a/src/Language/Glambda/Monad.hs
+++ b/src/Language/Glambda/Monad.hs
@@ -7,7 +7,7 @@
 -- Module      :  Language.Glambda.Monad
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- The Glam monad, allowing for pretty-printed output to the user, failing
@@ -34,9 +34,8 @@
 import Text.PrettyPrint.ANSI.Leijen
 
 import Control.Monad.Trans.Maybe
-import Control.Monad.Trans.Either
+import Control.Monad.Except
 import Control.Monad.Reader
-import Control.Monad.Error
 import Control.Monad.State
 import System.IO
 
@@ -50,7 +49,7 @@
   deriving (Monad, Functor, Applicative, MonadState Globals, MonadIO)
 
 -- | Like the 'Glam' monad, but also supporting error messages via 'Doc's
-newtype GlamE a = GlamE { unGlamE :: EitherT Doc Glam a }
+newtype GlamE a = GlamE { unGlamE :: ExceptT Doc Glam a }
   deriving (Monad, Functor, Applicative, MonadError Doc)
 
 instance MonadReader Globals GlamE where
@@ -106,4 +105,4 @@
 -- | Run a 'GlamE' computation
 runGlamE :: GlamE a -> Glam (Either Doc a)
 runGlamE thing_inside
-  = runEitherT $ unGlamE thing_inside
+  = runExceptT $ unGlamE thing_inside
diff --git a/src/Language/Glambda/Parse.hs b/src/Language/Glambda/Parse.hs
--- a/src/Language/Glambda/Parse.hs
+++ b/src/Language/Glambda/Parse.hs
@@ -5,7 +5,7 @@
 -- Module      :  Language.Glambda.Parse
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Parses tokens into the un-type-checked AST. "Parsing", in glambda,
diff --git a/src/Language/Glambda/Pretty.hs b/src/Language/Glambda/Pretty.hs
--- a/src/Language/Glambda/Pretty.hs
+++ b/src/Language/Glambda/Pretty.hs
@@ -14,7 +14,7 @@
 -- Module      :  Language.Glambda.Pretty
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Pretty-printing expressions. This allows reduction of code duplication
diff --git a/src/Language/Glambda/Repl.hs b/src/Language/Glambda/Repl.hs
--- a/src/Language/Glambda/Repl.hs
+++ b/src/Language/Glambda/Repl.hs
@@ -11,7 +11,7 @@
 -- Module      :  Language.Glambda.Repl
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Implements a REPL for glambda.
diff --git a/src/Language/Glambda/Shift.hs b/src/Language/Glambda/Shift.hs
--- a/src/Language/Glambda/Shift.hs
+++ b/src/Language/Glambda/Shift.hs
@@ -6,7 +6,7 @@
 -- Module      :  Language.Glambda.Shift
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- de Bruijn shifting and substitution
diff --git a/src/Language/Glambda/Statement.hs b/src/Language/Glambda/Statement.hs
--- a/src/Language/Glambda/Statement.hs
+++ b/src/Language/Glambda/Statement.hs
@@ -3,7 +3,7 @@
 -- Module      :  Language.Glambda.Statement
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Defines the Glambda Statement type, which can either be a bare
diff --git a/src/Language/Glambda/Token.hs b/src/Language/Glambda/Token.hs
--- a/src/Language/Glambda/Token.hs
+++ b/src/Language/Glambda/Token.hs
@@ -5,7 +5,7 @@
 -- Module      :  Language.Glambda.Token
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Defines a lexical token
diff --git a/src/Language/Glambda/Type.hs b/src/Language/Glambda/Type.hs
--- a/src/Language/Glambda/Type.hs
+++ b/src/Language/Glambda/Type.hs
@@ -6,7 +6,7 @@
 -- Module      :  Language.Glambda.Type
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Defines types
diff --git a/src/Language/Glambda/Unchecked.hs b/src/Language/Glambda/Unchecked.hs
--- a/src/Language/Glambda/Unchecked.hs
+++ b/src/Language/Glambda/Unchecked.hs
@@ -3,7 +3,7 @@
 -- Module      :  Language.Glambda.Unchecked
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Defines the AST for un-type-checked expressions
diff --git a/src/Language/Glambda/Util.hs b/src/Language/Glambda/Util.hs
--- a/src/Language/Glambda/Util.hs
+++ b/src/Language/Glambda/Util.hs
@@ -6,7 +6,7 @@
 -- Module      :  Language.Glambda.Util
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Utility exports (and re-exports) for glambda. This module is meant to
diff --git a/tests/Tests/Check.hs b/tests/Tests/Check.hs
--- a/tests/Tests/Check.hs
+++ b/tests/Tests/Check.hs
@@ -13,7 +13,7 @@
 import Language.Glambda.Globals
 import Language.Glambda.Util
 
-import Control.Monad.Trans.Either
+import Control.Monad.Trans.Except
 import Control.Monad.Reader
 
 import Text.PrettyPrint.ANSI.Leijen
@@ -53,7 +53,7 @@
 checkTests = testGroup "Typechecker" $
   List.map (\(expr_str, m_result) ->
                testCase ("`" ++ expr_str ++ "'") $
-               (case flip runReader id_globals $ runEitherT $ do
+               (case flip runReader id_globals $ runExceptT $ do
                        uexp <- hoistEither $ Arrow.left text $ parseExp =<< lex expr_str
                        check uexp $ \sty exp -> return $
                          case m_result of
@@ -65,6 +65,9 @@
                   of
                   Left _  -> assertBool "unexpected failure" (isNothing m_result)
                   Right b -> b)) checkTestCases
+
+hoistEither :: Monad m => Either e a -> ExceptT e m a
+hoistEither = ExceptT . return
 
 id_globals :: Globals
 id_globals = extend "id_int" (SIntTy `SArr` SIntTy) (Lam (Var EZ)) emptyGlobals
diff --git a/tests/Tests/Util.hs b/tests/Tests/Util.hs
--- a/tests/Tests/Util.hs
+++ b/tests/Tests/Util.hs
@@ -6,7 +6,7 @@
 -- Module      :  Tests.Util
 -- Copyright   :  (C) 2015 Richard Eisenberg
 -- License     :  BSD-style (see LICENSE)
--- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
+-- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
 -- Stability   :  experimental
 --
 -- Utility definnitions for testing glambda
