consider the following command:
overandover(a, b, c, d, e)
that, as long as "a" is true, keeps executing "e", with "b" initially defined as "c" (*) and then changed to "d" at every iteration;
for example, a simple infinite counter would be: overandover(True, a, 0, a+1, print(a))
Would this command be enough to write every kind of program, assuming all other ways of making definitions and cycles are forbidden?
(*) both single values and whole functions can be defined this way