True. But since `&block` is in the signature, wouldn't this actually convert the passed block to a Proc twice?
I'm not certain myself, but I think `block` here is a bit less cryptic :)
In fact, you could use `if block` instead of `if block_given?`.
I seem to remember reading at one time that using `&block` was slower than using `if block_given?` and `Proc.new`, since the `&block` will create a Proc whether or not a block was passed or not. But that's probably splitting hairs. Having it in the signature makes it more obvious the method will accept a block IMO.