Solutions to 99 Haskell problems