@@ -370,24 +370,27 @@ guessCreditCardType n
370370 | otherwise = Nothing
371371 where
372372 isVisa = (4 == firstDigits 1) && (digitsLength `elem` [13,16,19])
373− isMasterCard =
374− (inRange (51, 55) (firstDigits 2)) && (digitsLength == 16)
375− || (inRange (2221, 2720) (firstDigits 4)) && (digitsLength == 16)
373+ isMasterCard = or
374+ [ inRange (51, 55) (firstDigits 2) && (digitsLength == 16)
375+ , inRange (2221, 2720) (firstDigits 4) && (digitsLength == 16)]
376376 isAmEx = (firstDigits 2 `elem` [34, 37]) && (digitsLength == 15)
377377 isUnionPay = (firstDigits 2 `elem` [62]) && (digitsLength `elem` [16,17,18,19])
378− isDiscoverCard =
379− (firstDigits 4 == 6011 || inRange (644, 649) (firstDigits 3)
380− || inRange (622126, 622925) (firstDigits 6) || firstDigits 2 == 65)
378+ isDiscoverCard = or
379+ [ firstDigits 4 == 6011
380+ , inRange (644, 649) (firstDigits 3)
381+ , inRange (622126, 622925) (firstDigits 6)
382+ , firstDigits 2 == 65]
381383 && (digitsLength `elem` [16, 19])
382− isDinersClub =
383− ((inRange (300, 305) (firstDigits 3) || firstDigits 3 == 309
384− || firstDigits 2 == 36 || inRange (38, 39) (firstDigits 2))
385− && digitsLength == 14)
386− || (firstDigits 2 `elem` [54, 55] && digitsLength == 16)
387− isJCB =
388− (inRange (3528, 3589) (firstDigits 4) && digitsLength `elem` [15, 16])
389− || (firstDigits 4 `elem` [1800, 2131] && digitsLength == 15)
390− || (firstDigits 6 == 357266 && digitsLength == 19)
384+ isDinersClub = or
385+ [ inRange (300, 305) (firstDigits 3) && digitsLength == 14
386+ , firstDigits 3 == 309 && digitsLength == 14
387+ , firstDigits 2 == 36 && digitsLength == 14
388+ , inRange (38, 39) (firstDigits 2) && digitsLength == 14
389+ , firstDigits 2 `elem` [54, 55] && digitsLength == 16]
390+ isJCB = or
391+ [ inRange (3528, 3589) (firstDigits 4) && digitsLength `elem` [15, 16]
392+ , firstDigits 4 `elem` [1800, 2131] && digitsLength == 15
393+ , firstDigits 6 == 357266 && digitsLength == 19]
391394 digitsLength = L.length $ n ^. _CreditCardNumber
392395 firstDigits x = poly10 @Integer $ L.take x
393396 $ n ^.. _CreditCardNumber . folded . to digitToNum