Solutions to the 99 Haskell problems