Error message
In the message, %s marks a value that the engine fills in when it raises the error.
The story
You tried to change a name that was locked, and the engine said it is immutable. Here is how that happens. When a bind carries the immutable rule, once its value is written, the cell loses permission to be written again. Sometimes you wrote that rule yourself. Sometimes the project's syntax mode wrote it for you: in the strict LOW mode, every bind without an annotation is immutable by default. Later, a second bind to the same name asks the fedex to replace the value, and the fedex refuses, because the cell no longer has the write capability. That refusal is correct. This message simply makes it readable, so you learn three things at once: which name, that it is immutable, and why. For instance, you bind total equal to one, and later bind total equal to two. The engine stops you on the second line. The fix is not to loosen the lock. Either choose a new name for the new value, or mark the first bind as mutable when you really intend to change it.
Text from the Rush engine's error catalogue.
