Lambdas are strict about the number of provided args.  Procs aren't.  Given that, we should just use a proc here.  However, it's important that you use `Proc.new { v }`, not `proc { v }`, as `proc` on 1.8 returns a lambda, not a `Proc` (sadly).  This was corrected on 1.9+ though.  `Proc.new` will always return a `Proc` instance.