I do not know why you say that iterate is not appropriate. It is perfectly suitable for this purpose. (!! n) . iterate func is the composition of n copies of func.
(Someone had posted an answer similar to the above code, but he/she seems to have deleted it.)