Proc#bind implementation (active_support/core_ext/proc.rb)

Would it be a good idea to replace the implementation of Proc#bind in
active_support/core_ext/proc.rb with:

class Proc #:nodoc:
  def bind(object)
    lambda { |*args| object.instance_exec *args, &self }
  end
end

I'm quite possibly overlooking something, but in my tests the above
implementation respects arity restrictions under Ruby 1.9.2 better
than the convoluted implementation in ActiveSupport.

In 1.8.7 the above implementation and the ActiveSupport implementation
both return a bound Proc that can have different arity restrictions
than what is passed in. Specifically, if you pass in a lambda, the
above implementation will not raise an ArgumentException if you call
the output with the wrong number of arguments. OTOH, the
ActiveSupport version will raise an ArgumentException if you call the
output with the wrong number of arguments even if you pass in a Proc
created with Proc.new (where the actual number of arguments shouldn't
matter).

What am I overlooking?