The function '' <math>f''</math> acts as a [[for loop|for-loop]] from <math>0</math> up to the value of its first argument. The rest of the arguments for '' <math>f''</math>, denoted here with ''x''<sub>1</submath>x_1, ...\ldots, ''x''<sub>''k''x_k</submath>, are a set of initial conditions for the for-loop which may be used by it during calculations but which are immutable by it. The functions ''<math>g''</math> and ''<math>h''</math> on the right-hand side of the equations that define ''<math>f''</math> represent the body of the loop, which performs calculations. The function '' <math>g''</math> is used only once to perform initial calculations. Calculations for subsequent steps of the loop are performed by '' <math>h''</math>. The first parameter of '' <math>h''</math> is fed the "current" value of the for-loop's index. The second parameter of '' <math>h''</math> is fed the result of the for-loop's previous calculations, from previous steps. The rest of the parameters for '' <math>h''</math> are those immutable initial conditions for the for-loop mentioned earlier. They may be used by '' <math>h''</math> to perform calculations but they will not themselves be altered by '' <math>h''</math>.