iterate : (A -> A) x nat -> (A -> A)
The function iterate takes a function and a number and returns a function. The right pair of parentheses is optional because -> associates to the right. (I would even say that iterate is polymorphic because it can probably work for any type A.)
curry(iterate) : (A -> A) -> nat -> (A -> A)
but this may depend on the precise definition of currying that you have.