When resolving an expression containing references or item functions, quotes are being added (or not) at the wrong times.
<# IF(%object1%.Contents.Count < 2, "is", "are") #>
Count returns an integer, but the resolver puts quotes around it giving a bad expression error: "1" < 2
References and item functions that both return a key will work one way around but not the other:
<# %object2% = %object1%.Parent #> OK
<# %object1%.Parent = %object2% #> Bad expression Bag = ""Bag""
IF you add quotes around the reference then it works either way around:
<# "%object2%" = %object1%.Parent #> OK
<# %object1%.Parent = "%object2%" #> OK
While quoting the item function does not:
<# %object2% = "%object1%.Parent" #> Bad expression Bag = ""Bag""
<# "%object1%.Parent" = %object2% #> Bad expression Bag = ""Bag""
This occurs both for embedded expressions and in expression restrictions.