solving 99 Haskell Problems for funs!