Alphabet

cons:[a × b] ⟶ b
iterate:[a → a × a] ⟶ b

Variables

F:a → a
Y:a

Rules

iterate(F, Y)cons(Y, iterate(F, F · Y))