What constructor are you referring to?
I've asked Andrei to strip the "?" and "!" from the beginning of the variable so I can still run the CheckVariablesFilter correctly. This means that "?" and "!" is a semantic modifier to the variable, and is not part of the name.

The result of this is that a rule like:
rule A => A +Int !A
will produce an error message. I think this is safer and less likely for users to make a mistake.
But if more people disagree with this, we could change it (I know that there are tools which consider the annotations as part of the name).