Suppose I have a method that will yield to a block if one is given:

    def try(x, y, z)
      # ... do some other stuff first ...
      yield self if block_given?
    end

Now suppose that I create an alias to this method, for the purpose of
overriding how it's called, e.g.

    alias old_try try
    def try(hash)
      old_try(hash[:x], hash[:y], hash[:z])
    end

If someone calls this new and improved version of try() and provides a
block, is there any way for me to somehow pass that block down into
old_try() without actually modifying the method signature?