It is sometimes useful to define x as a Symbol
(1) -> x:Symbol
integrate(x)
1 x
But some things can be done with Variables but cannot be done with Symbols
y
y == 1
y
Compiling body of rule y to compute value of type PositiveInteger
x := 1
Cannot convert right-hand side of assignment 1
to an object of the type Symbol of the left-hand side.
And this causes an error
x == 1
x
Internal Error Interpreter code generation failed for expression1