Your line 11 is missing the & on &missing key.

That said, no advantage whatsoever, I was confusing the behaviour of a real Hash (wich does print the key name in the exception) with ENV (which doesn't).  

```
irb(main):005:0> ENV.fetch('a')
KeyError: key not found
irb(main):006:0> {}.fetch('a')
KeyError: key not found: "a"
irb(main):008:0> missing_key = proc {|k| raise KeyError,"key not found: #{k.inspect}"}
irb(main):009:0> ENV.fetch('a',&missing_key)
KeyError: key not found: "a"
```
Will revert ...