a toy project to learn functional programming and Haskell