Но с другой стороны, когда несколько раз в такую ситуацию попадаешь, начинаешь избегать do блоков, потому что они плохо скалируются. То есть если у тебя какая-то конкретная проблема есть, то они её решают, но если эта проблема как-то расширяется, то внезапно выясняется, что лучше с самого начала было делать по другому.