This appendix shows how to use a Changer to perform loop peeling. This example shows how to manipulate code at the AST level.
Loop peeling is a transformation that moves the first iteration of a loop outside the loop. Peeling a loop may expose the code to other code-improving transformations. See Muchnick, p.374, p.684 for more information.