Error message
In the message, %s marks a value that the engine fills in when it raises the error.
The story
Your assert failed, and this message tells you exactly what was compared. An assertion is a promise you write into your script: this must be true here. If it holds, the script keeps going. If it does not, the script stops, loudly. In the early days, the refusal only said that the builtin refused, and you were left to guess which assertion broke. If you had ten asserts in a script, that was a treasure hunt. Now the message names the value as you wrote it, and what it was held against. Two names, side by side, so you can read the comparison at a glance. Say you asserted that a count equals three, and the message shows your count against three. Look at both sides and ask which is wrong: the data, or your expectation? Sometimes the assertion is perfect and the data is the problem. Sometimes it is the other way around. Either way, the engine has done its job, which is to stop before a wrong value travels further.
Text from the Rush engine's error catalogue.
