{-# htermination iterate :: (a -> a) -> a -> [a] #-}