In my mind the use of '@' as a visibility specifier is the inconsistency, as '@' has been the symbol for type application both in Core and Haskell for much longer than it has been used as a visibility specifier.
I agree with this. But how would you fix the current situation? `@` is used as a visibility specifier in the user language (well, it switches both visibility and grammar/namespace). If `@` is to switch only grammar/namespace, what do we make of all the `@` that have been written in the past half-dozen years?
/Arnaud