Using do/end with let blocks is risky because of precedence problems.