Resolving dependencies... Configuring exceptional-0.1.2.0... Building exceptional-0.1.2.0... Preprocessing library exceptional-0.1.2.0... [1 of 1] Compiling Control.Exceptional ( Control/Exceptional.hs, dist/build/Control/Exceptional.o ) Control/Exceptional.hs:35:30: Could not deduce (Applicative m) arising from a use of ‘pure’ from the context (Monad m) bound by the type signature for runExceptional :: Monad m => Exceptional x -> m x at Control/Exceptional.hs:33:19-49 Possible fix: add (Applicative m) to the context of the type signature for runExceptional :: Monad m => Exceptional x -> m x In the expression: pure s In an equation for ‘runExceptional’: runExceptional (Success s) = pure s Control/Exceptional.hs:45:24: Couldn't match expected type ‘Either String a’ with actual type ‘Exceptional a’ Relevant bindings include x :: a (bound at Control/Exceptional.hs:45:19) toEither :: Exceptional a -> Either String a (bound at Control/Exceptional.hs:44:1) In the expression: Success x In an equation for ‘toEither’: toEither (Success x) = Success x Failed to install exceptional-0.1.2.0 cabal: Error: some packages failed to install: exceptional-0.1.2.0 failed during the building phase. The exception was: ExitFailure 1