3 weeks to delegation! Please help

When its a field access its pretty self-explanatory, but its a lot less clear when its an arbitrary expression. Will we really interpret the expression in contexts in which self is a different type depending on the method? The static items issue is also real to me - to literally desugar this, we would need a typeof construct.

I'm not convinced supporting delegating to expressions other than fields is a good idea, which is why I doubt that self is really adding all that much.