By relying entirely on procedure calls to express iteration, Scheme emphasized the fact that tail-recursive procedure calls are essentially goto's that pass arguments.
The style of Structured Programming introduces few disadvantage compared with Linear style of programming. One of the most hindrances in the creation of code is the requirement for everything to be recursively nestive. Although blocks with one entrance and one exit, as intended, are quite "linear" in that the execution flow follows from one block to next, this clearly not can happen in all but very simplest program. Just intention to provide all blocks with one exit and entrance goes against the essence of Computer, that is to say making decision and changing execution are one of the most value aspect of the computer Processor. Without this ability to make decision the Processor is just an automated calculation device. Of course in stated report the author had probably consider this, but his solution to make a block nest within a block. This decision proves the most worst aspect of the Structured Programming methodology. Nesting, known as also Recursion, is quite hard to interpret and understand thus, since it require a Stack mechanism. Today in all "structured" programming language it is standard to allow nesting of code, and even data. Data nesting acceptable, since the Processor do not execute data in straight line like it does code. But nesting code extremely confusing to understand than linear written code. To see why it this, consider the Processor, the main part of the Computer. It reads a stream of instruction from the memory, which is arranged, obviously, linearly. It execute them linearly. When it encounter change execution instruction, it moves its position linearly, i.e. backward or forward.