generalize except (suggested by Simon Hengel)
authorRoss Paterson <ross@soi.city.ac.uk>
Wed, 9 Jan 2019 23:33:50 +0000 (23:33 +0000)
committerRoss Paterson <ross@soi.city.ac.uk>
Wed, 9 Jan 2019 23:33:50 +0000 (23:33 +0000)
Control/Monad/Trans/Except.hs

index f4cfff9..477b9dd 100644 (file)
@@ -80,8 +80,8 @@ type Except e = ExceptT e Identity
 
 -- | Constructor for computations in the exception monad.
 -- (The inverse of 'runExcept').
-except :: Either e a -> Except e a
-except m = ExceptT (Identity m)
+except :: (Monad m) => Either e a -> ExceptT e m a
+except m = ExceptT (return m)
 {-# INLINE except #-}
 
 -- | Extractor for computations in the exception monad.