A general question about using numbers as variable names in Robot Framework

This is a general question about using numbers as variable names in Robot Framework.
Sometimes, when verifying values, we may want to compare a variable with an integer directly.

For example:

Should Be Equal ${adding values} ${25}

Here, ${25} is expected to represent the integer value 25.

But when you declare a variable like this:

*** Variables ***
${25} xyz

It will use the value xyz instead of the integer 25.

Is this correct?

*** Variables ***
${25} xyz

It will use the value xyz instead of the integer 25.

Yes, you defining a variable named 25 with value xyz.
(I don’t think it makes sense)

Characters that can me used in variable names aren’t restrictied and explicitly set variables override (most of) the automatic variables. This isn’t good design and likely will be changed at some point.

Most likely we make names of variables users can create more strict. That is also a precondition to the idea to allow creating and using variables without curly braces like:

*** Variables ***
$example        value 

*** Test Cases ***
Example 
    Log    $example

Some programming languages like C, C++, and Python don’t allow declaring variables with just numbers, or variable names that start with a number.
That’s why I mentioned that numbers or variable names starting with numbers can’t be used.
Sometimes, if there’s a mistake, the value might be misinterpreted as a variable.