iterate -is:exact -package:ghc package:base

iterate f x returns an infinite list of repeated applications of f to x:
iterate f x == [x, f x, f (f x), ...]
Note that iterate is lazy, potentially leading to thunk build-up if the consumer doesn't force each iterate. See iterate' for a strict variant of this function.
>>> take 10 $ iterate not True
[True,False,True,False...

>>> take 10 $ iterate (+3) 42
[42,45,48,51,54,57,60,63...
iterate f x produces the infinite sequence of repeated applications of f to x.
iterate f x = x :| [f x, f (f x), ..]
iterate' is the strict version of iterate. It forces the result of each application of the function to weak head normal form (WHNF) before proceeding.
Replace with the closest visual match upon an illegal sequence