Без заголовка
>>рефакторинг лапшеобразного кода внутри циклов
Возможно, это прозвучит несколько высокомерно, но я за то, чтобы лапшеобразный код просто не делать :)
По поводу Вашей идеи что приходит в голову: использовать частично описанные узлы дерева, т.е. такие процедуры, которые не описаны полностью (но для которые известны пред- пост- условия и инварианты). Если бы это было возможно, применимость, как мне кажется, возросла бы.
Но впрочем, не слушайте меня, я подробно в этом никогда не разбирался.