I don't like it. Why do we need special notation? x.eigenclass.foo is instantly recognizeable. x!foo is nice and short, but it also adds to the syntax of the language, raising the bar for newcomers. I don't suppose that's necessarily a reason to dismiss it, but I would err on the side of simplicity unless there's a really compelling reason not to. I favor the "and-call" operator because it's a shortcut to a really common pattern. I'm not seeing that you need to access the eigenclass often enough to justify new syntax specifically for it though.