From 79abc9ea961d6e921e51187971b87cd0939be11b Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Thu, 29 Aug 2019 19:39:47 -0400
Subject: [PATCH] fmap is more constrained than liftM

Therefore this approach is preferable
---
 src/PaymentServer/Persistence.hs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs
index 4163cad..eea14b4 100644
--- a/src/PaymentServer/Persistence.hs
+++ b/src/PaymentServer/Persistence.hs
@@ -82,8 +82,8 @@ instance VoucherDatabase MemoryVoucherDatabase where
     return ()
 
   redeemVoucher Memory{ paid = paid, redeemed = redeemed } voucher fingerprint = do
-    unpaid <- (liftM $ Set.notMember voucher) . readIORef $ paid
-    existingFingerprint <- (liftM $ Map.lookup voucher) . readIORef $ redeemed
+    unpaid <- Set.notMember voucher <$> readIORef paid
+    existingFingerprint <- Map.lookup voucher <$> readIORef redeemed
     case (unpaid, existingFingerprint) of
       (True, _) ->
         return $ Left NotPaid
-- 
GitLab