Callable struct on stable

It seems to me you would be better off relaxing requirement 1 – you can still do everything by calling a regular method that you could do by relying on () sugar.