When the method being delegated to does not actually implement the called method, our native delegate logic (NativeDelegate) is not passing the block through to the call.
For example, this code produces an enumerator instead of the final array:
require 'delegate'
hash = { "key" => "value" }
class Wrapper < SimpleDelegator
end
wrapped_hash = Wrapper.new(hash)
wrapped_wrapped_hash = Wrapper.new(wrapped_hash)
p wrapped_wrapped_hash.map { |key, value| [key,value] }
Fix coming.