One issue with doing it here is that this will caused the received to be passed to _any_ message expectation implementation, not just a block implementation.  For example, this will cause an extra arg to be passed when `SomeClass.any_instance.should_receive(:foo).and_call_original` is used, which will break things, I think.  I think you may want to wrap `inner_implementation_action` w/ a proc that unshifts the args, and then forwards it on to the original proc.  Thoughts?