@@ -111,6 +111,7 @@ import qualified Control.Exception as E
111import Control.Monad (MonadPlus (..), msum, unless)
111import Control.Monad (MonadPlus (..), msum, unless)
112import qualified Control.Monad.State.Strict as S
112import qualified Control.Monad.State.Strict as S
113import qualified Data.ByteString.Lazy as BL
113import qualified Data.ByteString.Lazy as BL
114+import qualified Data.Bifunctor as Bifunctor
114import Data.Char (isAlpha, isDigit, isLetter, isLower, isSpace, isUpper,
115import Data.Char (isAlpha, isDigit, isLetter, isLower, isSpace, isUpper,
116import Data.Data (Data, Typeable)
117import Data.Data (Data, Typeable)
@@ -637,8 +638,7 @@ inDirectory path action = E.bracket
639mapLeft :: (a -> b) -> Either a c -> Either b c
640mapLeft :: (a -> b) -> Either a c -> Either b c
640−mapLeft f (Left x) = Left (f x)
641+mapLeft = Bifunctor.first
641−mapLeft _ (Right x) = Right x
643-- | Remove intermediate "." and ".." directories from a path.
643-- | Remove intermediate "." and ".." directories from a path.