Identifier precedence
Unqualified identifiers used in expressions must be resolved into an object, property or variable reference. In the following example, "rectangle" and "margin" are unqualified identifiers.
rectangle.width + margin
In the case of a possible conflict - such as a variable and element identifier with the same name - they are resolved in the priority order shown below.

For example, in the following code the "button" identifier refers to the function parameter as it has a higher precedence than the conflicting element identifier.
Apple.Button as button {} function increaseSize(Apple.Button button) { button.size += 2 }