An object defining a call loop in which each iteration happens in serial (one after another in order)
A rangeable value to loop over.
A call [object] defining a call run on each iteration of the loop
An array of predicate [object]s which must be true for the loop to exit.
A loop-vars [object] binding iteration info to variables.