Sorry I edited a few things in, typo fixes and more comments/examples.
I think maybe I wrote this too fast. If the disambiguation can also work for this case then it potentially means that there won't be any infinite recursion yes.
If someone with compiler insights can clarify this, I'd be happy to accept these rules for even more convenience, but if such disambiguation is not possible I would prefer to drop rules (2) and (3).
Does this get us on the same page now?