cc validation in haskell .. not as interesting as I had hoped it would be