id :: forall a. (a) -> a id = \x -> x k :: String -> Number -> String k = \x -> \y -> x iterate :: forall a. Number -> (a -> a) -> a -> a iterate = \n -> \f -> \a -> do var result = a for i <- 0 until n: result = f result return result