return (A) + B
or anything after the return beginning with a piece in parenthesis. It had the order of opertions wrong and was grouping this as (return (A)) + B which resulted in the error message: "missing expression". (Paul Mikell)
I would still encourage people not to write code which depends on the difference between "" and null unless they really care about the difference. Use expressions like if(icon_state) rather than if(icon_state == ""). Boolean operations are shorter to write, faster to execute, and less prone to subtle errors. If you need to ensure that you are working with a text string rather than a null value, you can use an expression like (icon_state || ""). That returns icon_state if it is a true value and "" otherwise.