-- Exercise 1 fun1 :: [Integer] -> Integer fun1 = product . map (\n -> n-2) . filter even -- not tested fun2 :: Integer -> Integer fun2 = until (== 1) fun2 . last . takeWhile odd . iterate (\n -> 3*n + 1) . sum . takeWhile even . iterate (`div` 2)