Here is a technical reason for blocks and using `Enumerable#each`.

```ruby
puts "For Loop:"
for x in [1,2,3]
  n = x + 1
  puts x
end

puts "For Loop (leaks):"
puts "x: #{x}"
puts "n: #{n}"

puts "Enumerable Block:"
[1,2,3].each do |a|
  b = a + 1
  puts a
end

puts "Enumerable Block (closure):"
puts "a: #{a rescue nil}"
puts "b: #{b rescue nil}"
```

This outputs.

```
For Loop:
1
2
3
For Loop (leaks):
x: 3
n: 4
Enumerable Block:
1
2
3
Enumerable Block (closure):
a: 
b: 
```