module Imp.Exception.UnexpectedArgument where import qualified Control.Monad.Catch as Exception newtype UnexpectedArgument = UnexpectedArgument String deriving (UnexpectedArgument -> UnexpectedArgument -> Bool (UnexpectedArgument -> UnexpectedArgument -> Bool) -> (UnexpectedArgument -> UnexpectedArgument -> Bool) -> Eq UnexpectedArgument forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: UnexpectedArgument -> UnexpectedArgument -> Bool == :: UnexpectedArgument -> UnexpectedArgument -> Bool $c/= :: UnexpectedArgument -> UnexpectedArgument -> Bool /= :: UnexpectedArgument -> UnexpectedArgument -> Bool Eq, Int -> UnexpectedArgument -> ShowS [UnexpectedArgument] -> ShowS UnexpectedArgument -> String (Int -> UnexpectedArgument -> ShowS) -> (UnexpectedArgument -> String) -> ([UnexpectedArgument] -> ShowS) -> Show UnexpectedArgument forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> UnexpectedArgument -> ShowS showsPrec :: Int -> UnexpectedArgument -> ShowS $cshow :: UnexpectedArgument -> String show :: UnexpectedArgument -> String $cshowList :: [UnexpectedArgument] -> ShowS showList :: [UnexpectedArgument] -> ShowS Show) instance Exception.Exception UnexpectedArgument where displayException :: UnexpectedArgument -> String displayException (UnexpectedArgument String x) = String "unexpected argument: " String -> ShowS forall a. Semigroup a => a -> a -> a <> ShowS forall a. Show a => a -> String show String x new :: String -> UnexpectedArgument new :: String -> UnexpectedArgument new = String -> UnexpectedArgument UnexpectedArgument