An implementation of the Luhn credit card validator in Haskell