Error message
In the message, %s marks a value that the engine fills in when it raises the error.
The story
You declared a function with its parameters in an order that does not read well, and the engine fixed its eye on it. The rule is that required parameters come first. A declaration reads from top to bottom: first what the caller must give, then what the caller may leave out. A parameter with a default value, written after a colon, is optional. So a function with a required a, and then b defaulting to five, is lawful. But a function with a defaulting to five, and then a required b, is refused. The engine points at the required parameter that came too late, and names the defaulted one it follows. Why does this matter? Because when you call the function, you fill the parameters in order. If an optional one sits before a required one, you could never skip the optional one, so the default would be useless. The fix: move every required parameter to the front, and put the defaulted ones after. Then the signature tells the truth about what you must give and what you may skip.
Text from the Rush engine's error catalogue.
