@@ -105,11 +105,11 @@ destructLastMonoid = error "TODO: destructLastMonoid"
105105
106106-- | The priority of a task.
107107data Priority = Low | Medium | High
108− deriving (Show, Eq)
108+ deriving stock (Show, Eq)
109109
110110-- | The completion status of a task.
111111data Completion = Completed | NotCompleted
112− deriving (Show, Eq, Ord)
112+ deriving stock (Show, Eq, Ord)
113113
114114class TaskManager t where
115115 -- | Returns an empty task manager backend (it should have no tasks).
@@ -194,7 +194,7 @@ data Coffee
194194 -- | The extra ingredients added to the coffee.
195195 extras :: [CoffeeExtra]
196196 }
197− deriving (Eq, Show)
197+ deriving stock (Eq, Show)
198198
199199-- Extra ingredients added to the coffee.
200200data CoffeeExtra
@@ -205,7 +205,7 @@ data CoffeeExtra
205205 | Cinnamon
206206 | WhiteSugar
207207 | BrownSugar
208− deriving (Eq, Show)
208+ deriving stock (Eq, Show)
209209
210210-- | A typeclass representing objects, for which the price can be calculated.
211211class HasPrice x where
@@ -233,7 +233,7 @@ data DebitCard
233233 { balance :: RUBAmount,
234234 cardId :: Int
235235 }
236− deriving (Eq, Show)
236+ deriving stock (Eq, Show)
237237
238238-- | Given a coffee and a debit card, deduce the total price of the coffee from
239239-- the debit card. Return the given debit card with the reduced balance.
@@ -256,7 +256,7 @@ data PaymentMethod
256256 -- (We assume that the person pays with all of the cash he has.)
257257 change :: RUBAmount
258258 }
259− deriving (Eq, Show)
259+ deriving stock (Eq, Show)
260260
261261-- | Represents a coffee shop customer with all of the money he has on him.
262262data Customer
@@ -268,7 +268,7 @@ data Customer
268268 -- | The amount of cash the customer has on him.
269269 cash :: RUBAmount
270270 }
271− deriving (Eq, Show)
271+ deriving stock (Eq, Show)
272272
273273-- You have some new privacy-invading piece of ... technology, which
274274-- automatically scans the customer, determines how he would prefer to pay and