@@ -1,4 +1,7 @@
11{-# LANGUAGE CPP #-}
2+{-# LANGUAGE DeriveFunctor #-}
3+{-# LANGUAGE DeriveFoldable #-}
4+{-# LANGUAGE DeriveTraversable #-}
25{-# LANGUAGE OverloadedStrings #-}
36{-# LANGUAGE RankNTypes #-}
47{-# LANGUAGE ScopedTypeVariables #-}
@@ -45,7 +48,7 @@ data MandrillError = MandrillError {
4548 , _merr_code :: !Int
4649 , _merr_name :: !T.Text
4750 , _merr_message :: !T.Text
48− } deriving Show
51+ } deriving (Show, Eq)
4952
5053makeLenses ''MandrillError
5154deriveJSON defaultOptions { fieldLabelModifier = drop 6 } ''MandrillError
@@ -83,7 +86,7 @@ deriveJSON defaultOptions {
8386-- which can be either a success or a failure.
8487data MandrillResponse k =
8588 MandrillSuccess k
86− | MandrillFailure MandrillError deriving Show
89+ | MandrillFailure MandrillError deriving (Show, Eq, Functor, Foldable, Traversable)
8790
8891instance FromJSON k => FromJSON (MandrillResponse k) where
8992 parseJSON v = case (parseMaybe parseJSON v) :: Maybe k of