It's generally better to return super.noSuchMethod() than to create a new NoSuchMethodError. I think the best approach here is to pass the whole Invocation along to _forward() and in the 'none' case, delegate to super. Then Object.noSuchMethod can do something standard even with private names. This seems unrelated to the @proxy change though, so I wonder if this belongs in this PR.