If the same variable (same name) appears, in the same space, both with an assignable and with an un-assignable status (e.g. in the same behavior we have apparitions of ?var and ??var), it is unclear what the behavior will be (it appears that they will be considered as different).
A decision should be taken between these two options
the parser does not accept the file -- a variable name should occur with the same number of question marks (either 1 or 2) in the entire scope.
the parser accepts the file but all occurrences are considered of the same variable; ClaimVariable.equals() compares only label. All occurrences where the variable is re-assigned must be marked with a double question mark.
If the same variable (same name) appears, in the same space, both with an assignable and with an un-assignable status (e.g. in the same behavior we have apparitions of ?var and ??var), it is unclear what the behavior will be (it appears that they will be considered as different).
A decision should be taken between these two options
@tbenea waiting for comments